--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -1781,6 +1781,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN
+@@ -1727,6 +1727,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
-@@ -110,6 +110,10 @@
+@@ -113,6 +113,10 @@
#include <kunit/test.h>
static int kernel_init(void *);
extern void init_IRQ(void);
-@@ -904,6 +908,18 @@ asmlinkage __visible void __init __no_sa
+@@ -990,6 +994,18 @@ asmlinkage __visible void __init __no_sa
page_alloc_init();
pr_notice("Kernel command line: %s\n", saved_command_line);
--- a/arch/arm/boot/dts/armada-385-linksys.dtsi
+++ b/arch/arm/boot/dts/armada-385-linksys.dtsi
-@@ -212,11 +212,19 @@
+@@ -214,11 +214,19 @@
&pcie1 {
/* Marvell 88W8864, 5GHz-only */
status = "okay";
+++ /dev/null
-Newer Linksys boards might come with a Winbond W29N02GV which can be
-configured in different ways. Make sure we configure it the same way
-as the older chips so everything keeps working.
-
-Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
-
---- a/arch/arm/boot/dts/armada-385-linksys.dtsi
-+++ b/arch/arm/boot/dts/armada-385-linksys.dtsi
-@@ -148,6 +148,8 @@
- reg = <0>;
- label = "pxa3xx_nand-0";
- nand-rb = <0>;
-+ nand-ecc-strength = <4>;
-+ nand-ecc-step-size = <512>;
- marvell,nand-keep-config;
- nand-on-flash-bbt;
- };
+++ /dev/null
-Certain SFP modules (most notably Nokia GPON ones) first check
-connectivity on 1000base-x, and switch to 2500base-x afterwards. This
-is considered a quirk so the phylink switches the interface to
-2500base-x as well.
-
-However, after power-cycling the uDPU device, network interface/SFP module
-will not work correctly until the module is re-seated. This patch
-resolves this issue by forcing the interface to be brought up in
-2500base-x mode by default.
-
-Signed-off-by: Jakov Petrina <jakov.petrina@sartura.hr>
-Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
-Cc: Luka Perkov <luka.perkov@sartura.hr>
-
---- a/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts
-+++ b/arch/arm64/boot/dts/marvell/armada-3720-uDPU.dts
-@@ -162,7 +162,7 @@
- };
-
- ð0 {
-- phy-mode = "sgmii";
-+ phy-mode = "2500base-x";
- status = "okay";
- managed = "in-band-status";
- phys = <&comphy1 0>;
-@@ -170,7 +170,7 @@
- };
-
- ð1 {
-- phy-mode = "sgmii";
-+ phy-mode = "2500base-x";
- status = "okay";
- managed = "in-band-status";
- phys = <&comphy0 1>;
---
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -4903,6 +4903,16 @@ static int mvneta_ethtool_set_eee(struct
- return phylink_ethtool_set_eee(pp->phylink, eee);
+@@ -4987,6 +4987,16 @@ static int mvneta_setup_tc(struct net_de
+ }
}
+#ifndef CONFIG_ARM64
static const struct net_device_ops mvneta_netdev_ops = {
.ndo_open = mvneta_open,
.ndo_stop = mvneta_stop,
-@@ -4913,6 +4923,9 @@ static const struct net_device_ops mvnet
+@@ -4997,6 +5007,9 @@ static const struct net_device_ops mvnet
.ndo_fix_features = mvneta_fix_features,
.ndo_get_stats64 = mvneta_get_stats64,
- .ndo_do_ioctl = mvneta_ioctl,
+ .ndo_eth_ioctl = mvneta_ioctl,
+#ifndef CONFIG_ARM64
+ .ndo_select_queue = mvneta_select_queue,
+#endif
.ndo_bpf = mvneta_xdp,
.ndo_xdp_xmit = mvneta_xdp_xmit,
- };
+ .ndo_setup_tc = mvneta_setup_tc,
#include <linux/bpf_trace.h>
/* Registers */
-@@ -4933,14 +4934,14 @@ static void mvneta_setup_rx_prio_map(str
+@@ -4947,14 +4948,14 @@ static void mvneta_setup_rx_prio_map(str
}
static int mvneta_setup_mqprio(struct net_device *dev,
if (num_tc > rxq_number)
return -EINVAL;
-@@ -4951,13 +4952,15 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4965,13 +4966,15 @@ static int mvneta_setup_mqprio(struct ne
return 0;
}
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -4940,7 +4940,9 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4954,7 +4954,9 @@ static int mvneta_setup_mqprio(struct ne
u8 num_tc;
int i;
phy_interface_t phy_interface;
struct device_node *dn;
-@@ -4922,13 +4921,12 @@ static void mvneta_clear_rx_prio_map(str
+@@ -4936,13 +4935,12 @@ static void mvneta_clear_rx_prio_map(str
mvreg_write(pp, MVNETA_VLAN_PRIO_TO_RXQ, 0);
}
mvreg_write(pp, MVNETA_VLAN_PRIO_TO_RXQ, val);
}
-@@ -4937,8 +4935,8 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4951,8 +4949,8 @@ static int mvneta_setup_mqprio(struct ne
struct tc_mqprio_qopt_offload *mqprio)
{
struct mvneta_port *pp = netdev_priv(dev);
if (mqprio->qopt.hw != TC_MQPRIO_HW_OFFLOAD_TCS)
return 0;
-@@ -4948,21 +4946,28 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4962,21 +4960,28 @@ static int mvneta_setup_mqprio(struct ne
if (num_tc > rxq_number)
return -EINVAL;
#define MVNETA_LPI_CTRL_0 0x2cc0
#define MVNETA_LPI_CTRL_1 0x2cc4
#define MVNETA_LPI_REQUEST_ENABLE BIT(0)
-@@ -4931,11 +4958,74 @@ static void mvneta_map_vlan_prio_to_rxq(
+@@ -4945,11 +4972,74 @@ static void mvneta_map_vlan_prio_to_rxq(
mvreg_write(pp, MVNETA_VLAN_PRIO_TO_RXQ, val);
}
u8 num_tc;
if (mqprio->qopt.hw != TC_MQPRIO_HW_OFFLOAD_TCS)
-@@ -4949,6 +5039,7 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4963,6 +5053,7 @@ static int mvneta_setup_mqprio(struct ne
mvneta_clear_rx_prio_map(pp);
if (!num_tc) {
netdev_reset_tc(dev);
return 0;
}
-@@ -4969,6 +5060,33 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4983,6 +5074,33 @@ static int mvneta_setup_mqprio(struct ne
}
}
--- a/drivers/pci/controller/pci-mvebu.c
+++ b/drivers/pci/controller/pci-mvebu.c
-@@ -941,6 +941,7 @@ static int mvebu_pcie_powerup(struct mve
+@@ -1023,6 +1023,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);
-@@ -948,7 +949,13 @@ static int mvebu_pcie_powerup(struct mve
+@@ -1030,7 +1031,13 @@ static int mvebu_pcie_powerup(struct mve
udelay(100);
gpiod_set_value_cansleep(port->reset_gpio, 0);
}
return 0;
-@@ -1108,15 +1115,16 @@ static int mvebu_pcie_probe(struct platf
+@@ -1190,15 +1197,16 @@ static int mvebu_pcie_probe(struct platf
if (!child)
continue;
+ };
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
-@@ -475,6 +475,8 @@ patternProperties:
+@@ -519,6 +519,8 @@ patternProperties:
description: IC Plus Corp.
"^idt,.*":
description: Integrated Device Technologies, Inc.
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
-@@ -2155,6 +2155,15 @@ config SGI_MFD_IOC3
+@@ -2187,6 +2187,15 @@ config SGI_MFD_IOC3
If you have an SGI Origin, Octane, or a PCI IOC3 card,
then say Y. Otherwise say N.
depends on SPI_MASTER
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
-@@ -237,6 +237,7 @@ obj-$(CONFIG_MFD_HI655X_PMIC) += hi655
- obj-$(CONFIG_MFD_DLN2) += dln2.o
+@@ -237,6 +237,7 @@ obj-$(CONFIG_MFD_DLN2) += dln2.o
+ obj-$(CONFIG_MFD_RT4831) += rt4831.o
obj-$(CONFIG_MFD_RT5033) += rt5033.o
obj-$(CONFIG_MFD_SKY81452) += sky81452.o
+obj-$(CONFIG_MFD_IEI_WT61P803_PUZZLE) += iei-wt61p803-puzzle.o
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
-@@ -722,6 +722,14 @@ config SENSORS_IBMPOWERNV
+@@ -732,6 +732,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
-@@ -83,6 +83,7 @@ obj-$(CONFIG_SENSORS_HIH6130) += hih6130
+@@ -84,6 +84,7 @@ obj-$(CONFIG_SENSORS_HIH6130) += hih6130
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
-@@ -333,6 +333,14 @@ config LEDS_IPAQ_MICRO
+@@ -306,6 +306,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.
+@@ -33,6 +33,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
+obj-$(CONFIG_LEDS_IEI_WT61P803_PUZZLE) += leds-iei-wt61p803-puzzle.o
obj-$(CONFIG_LEDS_IS31FL319X) += leds-is31fl319x.o
obj-$(CONFIG_LEDS_IS31FL32XX) += leds-is31fl32xx.o
- obj-$(CONFIG_LEDS_KTD2692) += leds-ktd2692.o
+ obj-$(CONFIG_LEDS_LM3530) += leds-lm3530.o
--- /dev/null
+++ b/drivers/leds/leds-iei-wt61p803-puzzle.c
@@ -0,0 +1,147 @@
+================= == =====================================================
--- a/Documentation/hwmon/index.rst
+++ b/Documentation/hwmon/index.rst
-@@ -71,6 +71,7 @@ Hardware Monitoring Kernel Drivers
+@@ -74,6 +74,7 @@ Hardware Monitoring Kernel Drivers
ibmaem
ibm-cffps
ibmpowernv
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -8538,6 +8538,22 @@ F: include/net/nl802154.h
+@@ -9066,6 +9066,22 @@ F: include/net/nl802154.h
F: net/ieee802154/
F: net/mac802154/