+++ /dev/null
-From 0396a8731efd17aec4719ad9981fefeaa13ffa56 Mon Sep 17 00:00:00 2001
-From: Gabor Juhos <j4g8y7@gmail.com>
-Date: Wed, 14 May 2025 21:18:34 +0200
-Subject: [PATCH 3/7] pinctrl: armada-37xx: propagate error from
- armada_37xx_gpio_direction_output()
-
-The regmap_update_bits() function can fail, so propagate its error
-up to the stack instead of silently ignoring that.
-
-Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
-Reviewed-by: Andrew Lunn <andrew@lunn.ch>
-Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
-Link: https://lore.kernel.org/20250514-pinctrl-a37xx-fixes-v2-3-07e9ac1ab737@gmail.com
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
---- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
-+++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
-@@ -433,9 +433,7 @@ static int armada_37xx_gpio_direction_ou
- reg = OUTPUT_EN;
- armada_37xx_update_reg(®, &en_offset);
-
-- regmap_update_bits(info->regmap, reg, mask, mask);
--
-- return 0;
-+ return regmap_update_bits(info->regmap, reg, mask, mask);
- }
-
- static int armada_37xx_gpio_get(struct gpio_chip *chip, unsigned int offset)
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
-@@ -211,6 +211,8 @@ enum {
+@@ -212,6 +212,8 @@ enum {
};
#define VENDOR_ID_REG (LMI_BASE_ADDR + 0x44)
/* Set lane X1 */
reg = advk_readl(pcie, PCIE_CORE_CTRL0_REG);
reg &= ~LANE_CNT_MSK;
-@@ -1654,6 +1661,9 @@ static irqreturn_t advk_pcie_irq_handler
+@@ -1637,6 +1644,9 @@ static irqreturn_t advk_pcie_irq_handler
struct advk_pcie *pcie = arg;
u32 status;
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -1503,6 +1503,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
+@@ -1488,6 +1488,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
The command-line arguments provided by the boot loader will be
appended to the the device tree bootargs property.
}
--- a/init/main.c
+++ b/init/main.c
-@@ -114,6 +114,10 @@
+@@ -116,6 +116,10 @@
#include <kunit/test.h>
static int kernel_init(void *);
/*
-@@ -971,6 +975,18 @@ void start_kernel(void)
+@@ -966,6 +970,18 @@ void start_kernel(void)
boot_cpu_hotplug_init();
pr_notice("Kernel command line: %s\n", saved_command_line);
--- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dts
+++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dts
@@ -16,12 +16,12 @@
- "marvell,armada3720", "marvell,armada3700";
+ "marvell,armada3720", "marvell,armada3710";
aliases {
- /* ethernet1 is WAN port */
--- a/drivers/thermal/gov_step_wise.c
+++ b/drivers/thermal/gov_step_wise.c
-@@ -87,19 +87,28 @@ static void thermal_zone_trip_update(str
+@@ -82,22 +82,32 @@ static void thermal_zone_trip_update(str
+ const struct thermal_trip_desc *td,
+ int trip_threshold)
+ {
+- bool throttle = tz->temperature >= trip_threshold;
++ bool throttle = false;
+ const struct thermal_trip *trip = &td->trip;
+ enum thermal_trend trend = get_tz_trend(tz, trip);
int trip_id = thermal_zone_trip_id(tz, trip);
struct thermal_instance *instance;
- bool throttle = false;
-+ int hyst_temp;
++ int hyst_temp = trip_threshold - trip->hysteresis;
-- if (tz->temperature >= trip_threshold) {
-- throttle = true;
+- if (throttle)
- trace_thermal_zone_trip(tz, trip_id, trip->type);
-- }
-
- dev_dbg(&tz->device, "Trip%d[type=%d,temp=%d]:trend=%d,throttle=%d\n",
- trip_id, trip->type, trip_threshold, trend, throttle);
-+ hyst_temp = trip->temperature - trip->hysteresis;
+ dev_dbg(&tz->device, "Trip%d[type=%d,temp=%d,hyst=%d]:trend=%d,throttle=%d\n",
-+ trip_id, trip->type, trip->temperature, hyst_temp, trend, throttle);
++ trip_id, trip->type, trip_threshold, hyst_temp, trend, throttle);
list_for_each_entry(instance, &td->thermal_instances, trip_node) {
int old_target;
+ * Lower the mitigation only if the temperature
+ * goes below the hysteresis temperature.
+ */
-+ if (tz->temperature >= trip->temperature ||
++ if (tz->temperature >= trip_threshold ||
+ (tz->temperature >= hyst_temp &&
+ old_target != THERMAL_NO_TARGET)) {
+ throttle = true;
---
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -5303,6 +5303,16 @@ static int mvneta_setup_tc(struct net_de
+@@ -5325,6 +5325,16 @@ static int mvneta_setup_tc(struct net_de
}
}
static const struct net_device_ops mvneta_netdev_ops = {
.ndo_open = mvneta_open,
.ndo_stop = mvneta_stop,
-@@ -5313,6 +5323,9 @@ static const struct net_device_ops mvnet
+@@ -5335,6 +5345,9 @@ static const struct net_device_ops mvnet
.ndo_fix_features = mvneta_fix_features,
.ndo_get_stats64 = mvneta_get_stats64,
.ndo_eth_ioctl = mvneta_ioctl,
--- a/drivers/pci/controller/pci-mvebu.c
+++ b/drivers/pci/controller/pci-mvebu.c
-@@ -1397,6 +1397,7 @@ static int mvebu_pcie_powerup(struct mve
+@@ -1374,6 +1374,7 @@ static int mvebu_pcie_powerup(struct mve
if (port->reset_gpio) {
u32 reset_udelay = PCI_PM_D3COLD_WAIT * 1000;
of_property_read_u32(port->dn, "reset-delay-us",
&reset_udelay);
-@@ -1404,7 +1405,13 @@ static int mvebu_pcie_powerup(struct mve
+@@ -1381,7 +1382,13 @@ static int mvebu_pcie_powerup(struct mve
udelay(100);
gpiod_set_value_cansleep(port->reset_gpio, 0);
}
return 0;
-@@ -1521,15 +1528,16 @@ static int mvebu_pcie_probe(struct platf
+@@ -1498,15 +1505,16 @@ static int mvebu_pcie_probe(struct platf
if (!child)
continue;
err_str = "no suitable method provided";
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
-@@ -635,6 +635,9 @@ struct i2c_timings {
+@@ -636,6 +636,9 @@ struct i2c_timings {
* for generic GPIO recovery.
* @get_bus_free: Returns the bus free state as seen from the IP core in case it
* has a more complex internal logic than just reading SDA. Optional.
* @prepare_recovery: This will be called before starting recovery. Platform may
* configure padmux here for SDA/SCL line or something else they want.
* @unprepare_recovery: This will be called after completing recovery. Platform
-@@ -659,6 +662,7 @@ struct i2c_bus_recovery_info {
+@@ -660,6 +663,7 @@ struct i2c_bus_recovery_info {
void (*set_sda)(struct i2c_adapter *adap, int val);
int (*get_bus_free)(struct i2c_adapter *adap);
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
-@@ -2367,6 +2367,15 @@ config SGI_MFD_IOC3
+@@ -2449,6 +2449,15 @@ config SGI_MFD_IOC3
If you have an SGI Origin, Octane, or a PCI IOC3 card,
then say Y. Otherwise say N.
select MFD_CORE
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
-@@ -250,6 +250,7 @@ obj-$(CONFIG_MFD_RT4831) += rt4831.o
+@@ -256,6 +256,7 @@ obj-$(CONFIG_MFD_RT4831) += rt4831.o
obj-$(CONFIG_MFD_RT5033) += rt5033.o
obj-$(CONFIG_MFD_RT5120) += rt5120.o
obj-$(CONFIG_MFD_SKY81452) += sky81452.o
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
-@@ -828,6 +828,14 @@ config SENSORS_IBMPOWERNV
+@@ -889,6 +889,14 @@ config SENSORS_IBMPOWERNV
This driver can also be built as a module. If so, the module
will be called ibmpowernv.
depends on IIO
--- a/drivers/hwmon/Makefile
+++ b/drivers/hwmon/Makefile
-@@ -94,6 +94,7 @@ obj-$(CONFIG_SENSORS_HS3001) += hs3001.o
+@@ -97,6 +97,7 @@ obj-$(CONFIG_SENSORS_HTU31) += htu31.o
obj-$(CONFIG_SENSORS_ULTRA45) += ultra45_env.o
obj-$(CONFIG_SENSORS_I5500) += i5500_temp.o
obj-$(CONFIG_SENSORS_I5K_AMB) += i5k_amb.o
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -354,6 +354,14 @@ config LEDS_IPAQ_MICRO
+@@ -363,6 +363,14 @@ config LEDS_IPAQ_MICRO
Choose this option if you want to use the notification LED on
Compaq/HP iPAQ h3100 and h3600.
depends on LEDS_CLASS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -35,6 +35,7 @@ obj-$(CONFIG_LEDS_HP6XX) += leds-hp6xx.
+@@ -36,6 +36,7 @@ obj-$(CONFIG_LEDS_HP6XX) += leds-hp6xx.
obj-$(CONFIG_LEDS_INTEL_SS4200) += leds-ss4200.o
obj-$(CONFIG_LEDS_IP30) += leds-ip30.o
obj-$(CONFIG_LEDS_IPAQ_MICRO) += leds-ipaq-micro.o
+================= == =====================================================
--- a/Documentation/hwmon/index.rst
+++ b/Documentation/hwmon/index.rst
-@@ -87,6 +87,7 @@ Hardware Monitoring Kernel Drivers
+@@ -91,6 +91,7 @@ Hardware Monitoring Kernel Drivers
ibmaem
ibm-cffps
ibmpowernv
+ iei-wt61p803-puzzle-hwmon
ina209
ina2xx
- ina238
+ ina233
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -10978,6 +10978,22 @@ L: virtualization@lists.linux.dev
+@@ -12059,6 +12059,22 @@ L: virtualization@lists.linux.dev
S: Supported
F: drivers/vdpa/ifcvf/