diff --git a/include/kernel-5.4 b/include/kernel-5.4 index 30ddee920..e6250858e 100644 --- a/include/kernel-5.4 +++ b/include/kernel-5.4 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.4 = .195 -LINUX_KERNEL_HASH-5.4.195 = f22f5b9df60f8d59988f9d48bb2f39cb5d7ec435ca4296abe352e8063140031d +LINUX_VERSION-5.4 = .199 +LINUX_KERNEL_HASH-5.4.199 = 484c09f387656ddb6a1174c7ae6a1df81c02daba831911ad9240aa9582c16c58 diff --git a/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch index ce51e004c..34ad1be43 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch @@ -222,7 +222,7 @@ Signed-off-by: Yaroslav Rosomakho static inline int mmc_blk_part_switch(struct mmc_card *card, unsigned int part_type); -@@ -2891,6 +2898,7 @@ static int mmc_blk_probe(struct mmc_card +@@ -2890,6 +2897,7 @@ static int mmc_blk_probe(struct mmc_card { struct mmc_blk_data *md, *part_md; char cap_str[10]; @@ -230,7 +230,7 @@ Signed-off-by: Yaroslav Rosomakho /* * Check that the card supports the command class(es) we need. -@@ -2898,7 +2906,16 @@ static int mmc_blk_probe(struct mmc_card +@@ -2897,7 +2905,16 @@ static int mmc_blk_probe(struct mmc_card if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -248,7 +248,7 @@ Signed-off-by: Yaroslav Rosomakho card->complete_wq = alloc_workqueue("mmc_complete", WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); -@@ -2913,9 +2930,14 @@ static int mmc_blk_probe(struct mmc_card +@@ -2912,9 +2929,14 @@ static int mmc_blk_probe(struct mmc_card string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2, cap_str, sizeof(cap_str)); diff --git a/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch b/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch index 2cbd46deb..67d480a18 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch @@ -20,7 +20,7 @@ Subject: [PATCH] ASoC: Add support for Rpi-DAC select SND_SOC_PCM3008 select SND_SOC_PCM3060_I2C if I2C select SND_SOC_PCM3060_SPI if SPI_MASTER -@@ -985,6 +986,10 @@ config SND_SOC_RT5616 +@@ -984,6 +985,10 @@ config SND_SOC_RT5616 tristate "Realtek RT5616 CODEC" depends on I2C diff --git a/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch b/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch index 0ceb277a8..a403d50d0 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch @@ -35,7 +35,7 @@ Some code to load the driver based on device-tree-overlays was missing. This is select SND_SOC_TLV320AIC26 if SPI_MASTER select SND_SOC_TLV320AIC31XX if I2C select SND_SOC_TLV320AIC32X4_I2C if I2C && COMMON_CLK -@@ -1148,6 +1149,9 @@ config SND_SOC_TFA9879 +@@ -1147,6 +1148,9 @@ config SND_SOC_TFA9879 tristate "NXP Semiconductors TFA9879 amplifier" depends on I2C diff --git a/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch b/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch index f5e38a30e..9ae002a00 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch @@ -226,7 +226,7 @@ Signed-off-by: Hui Wang select SND_SOC_JZ4740_CODEC select SND_SOC_JZ4725B_CODEC select SND_SOC_LM4857 if I2C -@@ -1502,4 +1503,8 @@ config SND_SOC_TPA6130A2 +@@ -1501,4 +1502,8 @@ config SND_SOC_TPA6130A2 tristate "Texas Instruments TPA6130A2 headphone amplifier" depends on I2C diff --git a/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch index 9c0f2cdb8..7efa6d533 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch @@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell extern int usb_driver_set_configuration(struct usb_device *udev, int config); --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h -@@ -382,6 +382,11 @@ struct hc_driver { +@@ -384,6 +384,11 @@ struct hc_driver { * or bandwidth constraints. */ void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); @@ -93,7 +93,7 @@ Signed-off-by: Jonathan Bell /* Returns the hardware-chosen device address */ int (*address_device)(struct usb_hcd *, struct usb_device *udev); /* prepares the hardware to send commands to the device */ -@@ -443,6 +448,8 @@ extern void usb_hcd_unmap_urb_setup_for_ +@@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_ extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *); extern void usb_hcd_flush_endpoint(struct usb_device *udev, struct usb_host_endpoint *ep); diff --git a/target/linux/bcm27xx/patches-5.4/950-0427-of-overlay-Correct-symbol-path-fixups.patch b/target/linux/bcm27xx/patches-5.4/950-0427-of-overlay-Correct-symbol-path-fixups.patch index 4b005876d..25e417fb7 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0427-of-overlay-Correct-symbol-path-fixups.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0427-of-overlay-Correct-symbol-path-fixups.patch @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c -@@ -245,6 +245,8 @@ static struct property *dup_and_fixup_sy +@@ -243,6 +243,8 @@ static struct property *dup_and_fixup_sy if (!target_path) return NULL; target_path_len = strlen(target_path); diff --git a/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch b/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch index 4fe3df06d..76d7f8abd 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch @@ -65,7 +65,7 @@ Signed-off-by: Catalin Marinas arm64_dma32_phys_limit = max_zone_phys(32); --- a/arch/powerpc/include/asm/page.h +++ b/arch/powerpc/include/asm/page.h -@@ -338,13 +338,4 @@ struct vm_area_struct; +@@ -341,13 +341,4 @@ struct vm_area_struct; #endif /* __ASSEMBLY__ */ #include diff --git a/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch b/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch index de53f028f..173b03d09 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch @@ -104,7 +104,7 @@ Tested-by: Marek Szyprowski } --- a/kernel/dma/swiotlb.c +++ b/kernel/dma/swiotlb.c -@@ -683,7 +683,7 @@ bool swiotlb_map(struct device *dev, phy +@@ -686,7 +686,7 @@ bool swiotlb_map(struct device *dev, phy /* Ensure that the address returned is DMA'ble */ *dma_addr = __phys_to_dma(dev, *phys); diff --git a/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch b/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch index 2f99b22cd..a428c1a5c 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch @@ -271,7 +271,7 @@ Signed-off-by: Christoph Hellwig u64 dma_direct_get_required_mask(struct device *dev); --- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h -@@ -705,7 +705,7 @@ static inline int dma_coerce_mask_and_co +@@ -697,7 +697,7 @@ static inline int dma_coerce_mask_and_co */ static inline bool dma_addressing_limited(struct device *dev) { diff --git a/target/linux/bcm27xx/patches-5.4/950-0660-dt-Update-all-mainline-bcm283x-dt-files-for-i2c0-pin.patch b/target/linux/bcm27xx/patches-5.4/950-0660-dt-Update-all-mainline-bcm283x-dt-files-for-i2c0-pin.patch index f5e4e4b00..735c3c8cc 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0660-dt-Update-all-mainline-bcm283x-dt-files-for-i2c0-pin.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0660-dt-Update-all-mainline-bcm283x-dt-files-for-i2c0-pin.patch @@ -77,7 +77,7 @@ Signed-off-by: Dave Stevenson +}; --- a/arch/arm/boot/dts/bcm2835-rpi-b.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts -@@ -116,3 +116,10 @@ +@@ -115,3 +115,10 @@ pinctrl-0 = <&uart0_gpio14>; status = "okay"; }; @@ -101,7 +101,7 @@ Signed-off-by: Dave Stevenson +}; --- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts -@@ -149,3 +149,8 @@ +@@ -151,3 +151,8 @@ pinctrl-0 = <&uart1_gpio14>; status = "okay"; }; diff --git a/target/linux/bcm27xx/patches-5.4/950-1014-Revert-mailbox-avoid-timer-start-from-callback.patch b/target/linux/bcm27xx/patches-5.4/950-1014-Revert-mailbox-avoid-timer-start-from-callback.patch deleted file mode 100644 index 849bdd192..000000000 --- a/target/linux/bcm27xx/patches-5.4/950-1014-Revert-mailbox-avoid-timer-start-from-callback.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 2b7fcd18b15d9cc7b2e68deb77f4e0acfa904c41 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Tue, 3 Nov 2020 10:13:48 +0000 -Subject: [PATCH] Revert "mailbox: avoid timer start from callback" - -This reverts commit 6dc15642c8b830d384fd3e6c9ea63144202b8932. - -The Pi 400 shutdown/poweroff mechanism relies on being able to set -a GPIO on the expander in the pm_power_off handler, something that -requires two mailbox calls - GET_GPIO_STATE and SET_GPIO_STATE. A -recent kernel change introduces a reasonable possibility that the -GET call doesn't completes, and bisecting led to a commit from -October that changes the timer usage of the mailbox. - -My theory is that there is a race condition in the new code that breaks -the poll timer, but that it normally goes unnoticed because subsequent -mailbox activity wakes it up again. The power-off mailbox calls happen -at a time when other subsystems have been shut down, so if one of them -fails then there is nothing to allow it to recover. - -Revert 6dc15642 as (at least) a workaround. - -See: https://github.com/raspberrypi/linux/issues/3941 - -Signed-off-by: Phil Elwell ---- - drivers/mailbox/mailbox.c | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - ---- a/drivers/mailbox/mailbox.c -+++ b/drivers/mailbox/mailbox.c -@@ -82,12 +82,9 @@ static void msg_submit(struct mbox_chan - exit: - spin_unlock_irqrestore(&chan->lock, flags); - -- /* kick start the timer immediately to avoid delays */ -- if (!err && (chan->txdone_method & TXDONE_BY_POLL)) { -- /* but only if not already active */ -- if (!hrtimer_active(&chan->mbox->poll_hrt)) -- hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL); -- } -+ if (!err && (chan->txdone_method & TXDONE_BY_POLL)) -+ /* kick start the timer immediately to avoid delays */ -+ hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL); - } - - static void tx_tick(struct mbox_chan *chan, int r) -@@ -125,10 +122,11 @@ static enum hrtimer_restart txdone_hrtim - struct mbox_chan *chan = &mbox->chans[i]; - - if (chan->active_req && chan->cl) { -- resched = true; - txdone = chan->mbox->ops->last_tx_done(chan); - if (txdone) - tx_tick(chan, 0); -+ else -+ resched = true; - } - } - diff --git a/target/linux/generic/backport-5.4/408-v5.13-mtd-cfi_cmdset_0002-Disable-buffered-writes-for-AMD.patch b/target/linux/generic/backport-5.4/408-v5.13-mtd-cfi_cmdset_0002-Disable-buffered-writes-for-AMD.patch index 3af641e62..8aba0cab2 100644 --- a/target/linux/generic/backport-5.4/408-v5.13-mtd-cfi_cmdset_0002-Disable-buffered-writes-for-AMD.patch +++ b/target/linux/generic/backport-5.4/408-v5.13-mtd-cfi_cmdset_0002-Disable-buffered-writes-for-AMD.patch @@ -41,7 +41,7 @@ Link: https://lore.kernel.org/r/20210309174859.362060-1-sandberg@mailfence.com --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -272,6 +272,10 @@ static void fixup_use_write_buffers(stru +@@ -276,6 +276,10 @@ static void fixup_use_write_buffers(stru { struct map_info *map = mtd->priv; struct cfi_private *cfi = map->fldrv_priv; diff --git a/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch b/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch index 1ba23156b..a45a22e48 100644 --- a/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch +++ b/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch @@ -25,7 +25,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -4927,6 +4927,80 @@ static int mv88e6xxx_port_mdb_del(struct +@@ -4928,6 +4928,80 @@ static int mv88e6xxx_port_mdb_del(struct return err; } @@ -106,7 +106,7 @@ Signed-off-by: David S. Miller static int mv88e6xxx_port_egress_floods(struct dsa_switch *ds, int port, bool unicast, bool multicast) { -@@ -4981,6 +5055,8 @@ static const struct dsa_switch_ops mv88e +@@ -4982,6 +5056,8 @@ static const struct dsa_switch_ops mv88e .port_mdb_prepare = mv88e6xxx_port_mdb_prepare, .port_mdb_add = mv88e6xxx_port_mdb_add, .port_mdb_del = mv88e6xxx_port_mdb_del, diff --git a/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch b/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch index 99992493e..837126a33 100644 --- a/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch +++ b/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch @@ -19,7 +19,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -4994,7 +4994,7 @@ static void mv88e6xxx_port_mirror_del(st +@@ -4995,7 +4995,7 @@ static void mv88e6xxx_port_mirror_del(st if (chip->info->ops->set_egress_port(chip, direction, dsa_upstream_port(ds, diff --git a/target/linux/generic/backport-5.4/760-net-ethernet-mediatek-Integrate-GDM-PSE-setup-operat.patch b/target/linux/generic/backport-5.4/760-net-ethernet-mediatek-Integrate-GDM-PSE-setup-operat.patch index e352b0380..9c2b46f04 100644 --- a/target/linux/generic/backport-5.4/760-net-ethernet-mediatek-Integrate-GDM-PSE-setup-operat.patch +++ b/target/linux/generic/backport-5.4/760-net-ethernet-mediatek-Integrate-GDM-PSE-setup-operat.patch @@ -10,7 +10,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2232,6 +2232,28 @@ static int mtk_start_dma(struct mtk_eth +@@ -2235,6 +2235,28 @@ static int mtk_start_dma(struct mtk_eth return 0; } @@ -39,7 +39,7 @@ Signed-off-by: David S. Miller static int mtk_open(struct net_device *dev) { struct mtk_mac *mac = netdev_priv(dev); -@@ -2427,8 +2449,6 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -2430,8 +2452,6 @@ static int mtk_hw_init(struct mtk_eth *e mtk_w32(eth, 0, MTK_QDMA_DELAY_INT); mtk_tx_irq_disable(eth, ~0); mtk_rx_irq_disable(eth, ~0); @@ -48,7 +48,7 @@ Signed-off-by: David S. Miller /* FE int grouping */ mtk_w32(eth, MTK_TX_DONE_INT, MTK_PDMA_INT_GRP1); -@@ -2437,18 +2457,7 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -2440,18 +2460,7 @@ static int mtk_hw_init(struct mtk_eth *e mtk_w32(eth, MTK_RX_DONE_INT, MTK_QDMA_INT_GRP2); mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP); diff --git a/target/linux/generic/backport-5.4/761-net-ethernet-mediatek-Refine-the-timing-of-GDM-PSE-s.patch b/target/linux/generic/backport-5.4/761-net-ethernet-mediatek-Refine-the-timing-of-GDM-PSE-s.patch index d18d9f93e..6851eb3cd 100644 --- a/target/linux/generic/backport-5.4/761-net-ethernet-mediatek-Refine-the-timing-of-GDM-PSE-s.patch +++ b/target/linux/generic/backport-5.4/761-net-ethernet-mediatek-Refine-the-timing-of-GDM-PSE-s.patch @@ -15,7 +15,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2236,6 +2236,9 @@ static void mtk_gdm_config(struct mtk_et +@@ -2239,6 +2239,9 @@ static void mtk_gdm_config(struct mtk_et { int i; @@ -25,7 +25,7 @@ Signed-off-by: David S. Miller for (i = 0; i < MTK_MAC_COUNT; i++) { u32 val = mtk_r32(eth, MTK_GDMA_FWD_CFG(i)); -@@ -2274,6 +2277,8 @@ static int mtk_open(struct net_device *d +@@ -2277,6 +2280,8 @@ static int mtk_open(struct net_device *d if (err) return err; @@ -34,7 +34,7 @@ Signed-off-by: David S. Miller napi_enable(ð->tx_napi); napi_enable(ð->rx_napi); mtk_tx_irq_enable(eth, MTK_TX_DONE_INT); -@@ -2457,8 +2462,6 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -2460,8 +2465,6 @@ static int mtk_hw_init(struct mtk_eth *e mtk_w32(eth, MTK_RX_DONE_INT, MTK_QDMA_INT_GRP2); mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP); diff --git a/target/linux/generic/backport-5.4/762-net-ethernet-mediatek-Enable-GDM-GDMA_DROP_ALL-mode.patch b/target/linux/generic/backport-5.4/762-net-ethernet-mediatek-Enable-GDM-GDMA_DROP_ALL-mode.patch index e25f1211e..a55ad3126 100644 --- a/target/linux/generic/backport-5.4/762-net-ethernet-mediatek-Enable-GDM-GDMA_DROP_ALL-mode.patch +++ b/target/linux/generic/backport-5.4/762-net-ethernet-mediatek-Enable-GDM-GDMA_DROP_ALL-mode.patch @@ -12,7 +12,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2331,6 +2331,8 @@ static int mtk_stop(struct net_device *d +@@ -2334,6 +2334,8 @@ static int mtk_stop(struct net_device *d if (!refcount_dec_and_test(ð->dma_refcnt)) return 0; diff --git a/target/linux/generic/backport-5.4/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch b/target/linux/generic/backport-5.4/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch index 22360e9d7..98d8505ce 100644 --- a/target/linux/generic/backport-5.4/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch +++ b/target/linux/generic/backport-5.4/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch @@ -264,7 +264,7 @@ Signed-off-by: David S. Miller ndev->dev_addr); --- a/drivers/net/ethernet/altera/altera_tse_main.c +++ b/drivers/net/ethernet/altera/altera_tse_main.c -@@ -1351,7 +1351,6 @@ static int altera_tse_probe(struct platf +@@ -1355,7 +1355,6 @@ static int altera_tse_probe(struct platf struct resource *control_port; struct resource *dma_res; struct altera_tse_private *priv; @@ -272,7 +272,7 @@ Signed-off-by: David S. Miller void __iomem *descmap; const struct of_device_id *of_id = NULL; -@@ -1528,10 +1527,8 @@ static int altera_tse_probe(struct platf +@@ -1532,10 +1531,8 @@ static int altera_tse_probe(struct platf priv->rx_dma_buf_sz = ALTERA_RXDMABUFFER_SIZE; /* get default MAC address from device tree */ @@ -859,7 +859,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2490,14 +2490,11 @@ static int __init mtk_init(struct net_de +@@ -2493,14 +2493,11 @@ static int __init mtk_init(struct net_de { struct mtk_mac *mac = netdev_priv(dev); struct mtk_eth *eth = mac->hw; diff --git a/target/linux/generic/hack-5.4/204-module_strip.patch b/target/linux/generic/hack-5.4/204-module_strip.patch index 4ac6118e7..28c65fdb1 100644 --- a/target/linux/generic/hack-5.4/204-module_strip.patch +++ b/target/linux/generic/hack-5.4/204-module_strip.patch @@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau --- a/init/Kconfig +++ b/init/Kconfig -@@ -2208,6 +2208,13 @@ config TRIM_UNUSED_KSYMS +@@ -2217,6 +2217,13 @@ config TRIM_UNUSED_KSYMS If unsure, or if you need to build out-of-tree modules, say N. @@ -151,7 +151,7 @@ Signed-off-by: Felix Fietkau --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c -@@ -2056,7 +2056,9 @@ static void read_symbols(const char *mod +@@ -2057,7 +2057,9 @@ static void read_symbols(const char *mod symname = remove_dot(info.strtab + sym->st_name); handle_modversions(mod, &info, sym, symname); @@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau } /* Apply symbol namespaces from __kstrtabns_ entries. */ -@@ -2270,8 +2272,10 @@ static void add_header(struct buffer *b, +@@ -2271,8 +2273,10 @@ static void add_header(struct buffer *b, buf_printf(b, "\n"); buf_printf(b, "BUILD_SALT;\n"); buf_printf(b, "\n"); @@ -172,7 +172,7 @@ Signed-off-by: Felix Fietkau buf_printf(b, "\n"); buf_printf(b, "__visible struct module __this_module\n"); buf_printf(b, "__section(.gnu.linkonce.this_module) = {\n"); -@@ -2288,8 +2292,10 @@ static void add_header(struct buffer *b, +@@ -2289,8 +2293,10 @@ static void add_header(struct buffer *b, static void add_intree_flag(struct buffer *b, int is_intree) { @@ -183,7 +183,7 @@ Signed-off-by: Felix Fietkau } /* Cannot check for assembler */ -@@ -2302,8 +2308,10 @@ static void add_retpoline(struct buffer +@@ -2303,8 +2309,10 @@ static void add_retpoline(struct buffer static void add_staging_flag(struct buffer *b, const char *name) { @@ -194,7 +194,7 @@ Signed-off-by: Felix Fietkau } /** -@@ -2387,11 +2395,13 @@ static void add_depends(struct buffer *b +@@ -2388,11 +2396,13 @@ static void add_depends(struct buffer *b static void add_srcversion(struct buffer *b, struct module *mod) { @@ -208,7 +208,7 @@ Signed-off-by: Felix Fietkau } static void write_if_changed(struct buffer *b, const char *fname) -@@ -2661,7 +2671,9 @@ int main(int argc, char **argv) +@@ -2662,7 +2672,9 @@ int main(int argc, char **argv) add_staging_flag(&buf, mod->name); err |= add_versions(&buf, mod); add_depends(&buf, mod); diff --git a/target/linux/generic/hack-5.4/640-bridge-only-accept-EAP-locally.patch b/target/linux/generic/hack-5.4/640-bridge-only-accept-EAP-locally.patch index a713aa3cf..9f4534f5e 100644 --- a/target/linux/generic/hack-5.4/640-bridge-only-accept-EAP-locally.patch +++ b/target/linux/generic/hack-5.4/640-bridge-only-accept-EAP-locally.patch @@ -12,7 +12,7 @@ Signed-off-by: Etienne Champetier --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c -@@ -103,10 +103,14 @@ int br_handle_frame_finish(struct net *n +@@ -110,10 +110,14 @@ int br_handle_frame_finish(struct net *n } } diff --git a/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch b/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch index 11f1a25bc..b77633d69 100644 --- a/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch +++ b/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h -@@ -617,12 +617,13 @@ extern struct Qdisc_ops noop_qdisc_ops; +@@ -603,12 +603,13 @@ extern struct Qdisc_ops noop_qdisc_ops; extern struct Qdisc_ops pfifo_fast_ops; extern struct Qdisc_ops mq_qdisc_ops; extern struct Qdisc_ops noqueue_qdisc_ops; diff --git a/target/linux/generic/pending-5.4/150-bridge_allow_receiption_on_disabled_port.patch b/target/linux/generic/pending-5.4/150-bridge_allow_receiption_on_disabled_port.patch index c63268ece..83811c3d7 100644 --- a/target/linux/generic/pending-5.4/150-bridge_allow_receiption_on_disabled_port.patch +++ b/target/linux/generic/pending-5.4/150-bridge_allow_receiption_on_disabled_port.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c -@@ -190,6 +190,9 @@ static void __br_handle_local_finish(str +@@ -197,6 +197,9 @@ static void __br_handle_local_finish(str /* note: already called with rcu_read_lock */ static int br_handle_local_finish(struct net *net, struct sock *sk, struct sk_buff *skb) { @@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau __br_handle_local_finish(skb); /* return 1 to signal the okfn() was called so it's ok to use the skb */ -@@ -340,6 +343,17 @@ rx_handler_result_t br_handle_frame(stru +@@ -347,6 +350,17 @@ rx_handler_result_t br_handle_frame(stru forward: switch (p->state) { diff --git a/target/linux/generic/pending-5.4/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-5.4/203-kallsyms_uncompressed.patch index 68a2d4d88..fa5e21bd8 100644 --- a/target/linux/generic/pending-5.4/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-5.4/203-kallsyms_uncompressed.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/init/Kconfig +++ b/init/Kconfig -@@ -1280,6 +1280,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW +@@ -1289,6 +1289,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW the unaligned access emulation. see arch/parisc/kernel/unaligned.c for reference diff --git a/target/linux/generic/pending-5.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch b/target/linux/generic/pending-5.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch index 9983971af..2435133fa 100644 --- a/target/linux/generic/pending-5.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch +++ b/target/linux/generic/pending-5.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -913,7 +913,7 @@ static int get_chip(struct map_info *map +@@ -906,7 +906,7 @@ static int get_chip(struct map_info *map return 0; case FL_ERASING: diff --git a/target/linux/generic/pending-5.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch b/target/linux/generic/pending-5.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch index bedd53ccb..ca56de827 100644 --- a/target/linux/generic/pending-5.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch +++ b/target/linux/generic/pending-5.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch @@ -7,7 +7,7 @@ Signed-off-by: George Kashperko 1 file changed, 1 insertion(+) --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2058,6 +2058,7 @@ static int __xipram do_write_buffer(stru +@@ -2051,6 +2051,7 @@ static int __xipram do_write_buffer(stru /* Write Buffer Load */ map_write(map, CMD(0x25), cmd_adr); diff --git a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch index ab9424833..fcd596f7f 100644 --- a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch +++ b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch @@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso +MODULE_ALIAS("nf-flow-table-hw"); --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -5748,6 +5748,13 @@ static int nf_tables_flowtable_parse_hoo +@@ -5752,6 +5752,13 @@ static int nf_tables_flowtable_parse_hoo if (err < 0) return err; @@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL); if (!ops) return -ENOMEM; -@@ -5878,10 +5885,19 @@ static int nf_tables_newflowtable(struct +@@ -5882,10 +5889,19 @@ static int nf_tables_newflowtable(struct } flowtable->data.type = type; @@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK], flowtable); if (err < 0) -@@ -6007,7 +6023,8 @@ static int nf_tables_fill_flowtable_info +@@ -6011,7 +6027,8 @@ static int nf_tables_fill_flowtable_info nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) || nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) || nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle), diff --git a/target/linux/generic/pending-5.4/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch b/target/linux/generic/pending-5.4/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch index 63e763f4e..ab7f7a70e 100644 --- a/target/linux/generic/pending-5.4/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch +++ b/target/linux/generic/pending-5.4/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2151,8 +2151,8 @@ static irqreturn_t mtk_handle_irq_rx(int +@@ -2154,8 +2154,8 @@ static irqreturn_t mtk_handle_irq_rx(int struct mtk_eth *eth = _eth; if (likely(napi_schedule_prep(ð->rx_napi))) { @@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau } return IRQ_HANDLED; -@@ -2163,8 +2163,8 @@ static irqreturn_t mtk_handle_irq_tx(int +@@ -2166,8 +2166,8 @@ static irqreturn_t mtk_handle_irq_tx(int struct mtk_eth *eth = _eth; if (likely(napi_schedule_prep(ð->tx_napi))) { @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau } return IRQ_HANDLED; -@@ -3087,6 +3087,8 @@ static int mtk_probe(struct platform_dev +@@ -3090,6 +3090,8 @@ static int mtk_probe(struct platform_dev * for NAPI to work */ init_dummy_netdev(ð->dummy_dev); diff --git a/target/linux/generic/pending-5.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch b/target/linux/generic/pending-5.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch index 8e833ea80..65b0e1084 100644 --- a/target/linux/generic/pending-5.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch +++ b/target/linux/generic/pending-5.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch @@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -5081,6 +5081,7 @@ static int mv88e6xxx_register_switch(str +@@ -5082,6 +5082,7 @@ static int mv88e6xxx_register_switch(str ds->ops = &mv88e6xxx_switch_ops; ds->ageing_time_min = chip->info->age_time_coeff; ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX; diff --git a/target/linux/generic/pending-5.4/770-04-net-ethernet-mtk_eth_soc-use-larger-burst-size-for-q.patch b/target/linux/generic/pending-5.4/770-04-net-ethernet-mtk_eth_soc-use-larger-burst-size-for-q.patch index cd042ce40..bd74596c9 100644 --- a/target/linux/generic/pending-5.4/770-04-net-ethernet-mtk_eth_soc-use-larger-burst-size-for-q.patch +++ b/target/linux/generic/pending-5.4/770-04-net-ethernet-mtk_eth_soc-use-larger-burst-size-for-q.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2208,7 +2208,7 @@ static int mtk_start_dma(struct mtk_eth +@@ -2211,7 +2211,7 @@ static int mtk_start_dma(struct mtk_eth if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) { mtk_w32(eth, MTK_TX_WB_DDONE | MTK_TX_DMA_EN | diff --git a/target/linux/generic/pending-5.4/770-06-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch b/target/linux/generic/pending-5.4/770-06-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch index 820ac9ab8..e4e863d98 100644 --- a/target/linux/generic/pending-5.4/770-06-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch +++ b/target/linux/generic/pending-5.4/770-06-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch @@ -79,7 +79,7 @@ Signed-off-by: Felix Fietkau if (mtk_queue_stopped(eth) && (atomic_read(&ring->free_count) > ring->thresh)) mtk_wake_queue(eth); -@@ -2144,6 +2159,7 @@ static irqreturn_t mtk_handle_irq_rx(int +@@ -2147,6 +2162,7 @@ static irqreturn_t mtk_handle_irq_rx(int { struct mtk_eth *eth = _eth; @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (likely(napi_schedule_prep(ð->rx_napi))) { mtk_rx_irq_disable(eth, MTK_RX_DONE_INT); __napi_schedule(ð->rx_napi); -@@ -2156,6 +2172,7 @@ static irqreturn_t mtk_handle_irq_tx(int +@@ -2159,6 +2175,7 @@ static irqreturn_t mtk_handle_irq_tx(int { struct mtk_eth *eth = _eth; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (likely(napi_schedule_prep(ð->tx_napi))) { mtk_tx_irq_disable(eth, MTK_TX_DONE_INT); __napi_schedule(ð->tx_napi); -@@ -2332,6 +2349,9 @@ static int mtk_stop(struct net_device *d +@@ -2335,6 +2352,9 @@ static int mtk_stop(struct net_device *d napi_disable(ð->tx_napi); napi_disable(ð->rx_napi); @@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) mtk_stop_dma(eth, MTK_QDMA_GLO_CFG); mtk_stop_dma(eth, MTK_PDMA_GLO_CFG); -@@ -2381,6 +2401,64 @@ err_disable_clks: +@@ -2384,6 +2404,64 @@ err_disable_clks: return ret; } @@ -170,7 +170,7 @@ Signed-off-by: Felix Fietkau static int mtk_hw_init(struct mtk_eth *eth) { int i, val, ret; -@@ -2402,9 +2480,6 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -2405,9 +2483,6 @@ static int mtk_hw_init(struct mtk_eth *e goto err_disable_pm; } @@ -180,7 +180,7 @@ Signed-off-by: Felix Fietkau /* disable delay and normal interrupt */ mtk_tx_irq_disable(eth, ~0); mtk_rx_irq_disable(eth, ~0); -@@ -2443,11 +2518,10 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -2446,11 +2521,10 @@ static int mtk_hw_init(struct mtk_eth *e /* Enable RX VLan Offloading */ mtk_w32(eth, 1, MTK_CDMP_EG_CTRL); @@ -194,7 +194,7 @@ Signed-off-by: Felix Fietkau mtk_tx_irq_disable(eth, ~0); mtk_rx_irq_disable(eth, ~0); -@@ -2948,6 +3022,13 @@ static int mtk_probe(struct platform_dev +@@ -2951,6 +3025,13 @@ static int mtk_probe(struct platform_dev spin_lock_init(ð->page_lock); spin_lock_init(ð->tx_irq_lock); spin_lock_init(ð->rx_irq_lock); diff --git a/target/linux/generic/pending-5.4/770-13-net-ethernet-mtk_eth_soc-fix-parsing-packets-in-GDM.patch b/target/linux/generic/pending-5.4/770-13-net-ethernet-mtk_eth_soc-fix-parsing-packets-in-GDM.patch index b1bde7bbf..728a649b4 100644 --- a/target/linux/generic/pending-5.4/770-13-net-ethernet-mtk_eth_soc-fix-parsing-packets-in-GDM.patch +++ b/target/linux/generic/pending-5.4/770-13-net-ethernet-mtk_eth_soc-fix-parsing-packets-in-GDM.patch @@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT || !eth->netdev[mac])) -@@ -2268,6 +2268,9 @@ static void mtk_gdm_config(struct mtk_et +@@ -2271,6 +2271,9 @@ static void mtk_gdm_config(struct mtk_et val |= config; diff --git a/target/linux/generic/pending-5.4/770-15-net-ethernet-mediatek-mtk_eth_soc-add-support-for-in.patch b/target/linux/generic/pending-5.4/770-15-net-ethernet-mediatek-mtk_eth_soc-add-support-for-in.patch index 3bdbc8f5f..1d02e20bf 100644 --- a/target/linux/generic/pending-5.4/770-15-net-ethernet-mediatek-mtk_eth_soc-add-support-for-in.patch +++ b/target/linux/generic/pending-5.4/770-15-net-ethernet-mediatek-mtk_eth_soc-add-support-for-in.patch @@ -24,7 +24,7 @@ Signed-off-by: Felix Fietkau +mtk_eth-y := mtk_eth_soc.o mtk_sgmii.o mtk_eth_path.o mtk_ppe.o --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2301,12 +2301,17 @@ static int mtk_open(struct net_device *d +@@ -2304,12 +2304,17 @@ static int mtk_open(struct net_device *d /* we run 2 netdevs on the same dma ring so we only bring it up once */ if (!refcount_read(ð->dma_refcnt)) { @@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau napi_enable(ð->tx_napi); napi_enable(ð->rx_napi); -@@ -2376,6 +2381,9 @@ static int mtk_stop(struct net_device *d +@@ -2379,6 +2384,9 @@ static int mtk_stop(struct net_device *d mtk_dma_free(eth); @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau return 0; } -@@ -3162,6 +3170,13 @@ static int mtk_probe(struct platform_dev +@@ -3165,6 +3173,13 @@ static int mtk_probe(struct platform_dev goto err_free_dev; } @@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau for (i = 0; i < MTK_MAX_DEVS; i++) { if (!eth->netdev[i]) continue; -@@ -3238,6 +3253,7 @@ static const struct mtk_soc_data mt7621_ +@@ -3241,6 +3256,7 @@ static const struct mtk_soc_data mt7621_ .hw_features = MTK_HW_FEATURES, .required_clks = MT7621_CLKS_BITMAP, .required_pctl = false, @@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau }; static const struct mtk_soc_data mt7622_data = { -@@ -3246,6 +3262,7 @@ static const struct mtk_soc_data mt7622_ +@@ -3249,6 +3265,7 @@ static const struct mtk_soc_data mt7622_ .hw_features = MTK_HW_FEATURES, .required_clks = MT7622_CLKS_BITMAP, .required_pctl = false, diff --git a/target/linux/generic/pending-5.4/770-16-net-ethernet-mediatek-mtk_eth_soc-add-flow-offloadin.patch b/target/linux/generic/pending-5.4/770-16-net-ethernet-mediatek-mtk_eth_soc-add-flow-offloadin.patch index de337026d..b0f06f603 100644 --- a/target/linux/generic/pending-5.4/770-16-net-ethernet-mediatek-mtk_eth_soc-add-flow-offloadin.patch +++ b/target/linux/generic/pending-5.4/770-16-net-ethernet-mediatek-mtk_eth_soc-add-flow-offloadin.patch @@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau skip_rx: ring->data[idx] = new_data; -@@ -2879,6 +2885,25 @@ static int mtk_set_rxnfc(struct net_devi +@@ -2882,6 +2888,25 @@ static int mtk_set_rxnfc(struct net_devi return ret; } @@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau static const struct ethtool_ops mtk_ethtool_ops = { .get_link_ksettings = mtk_get_link_ksettings, .set_link_ksettings = mtk_set_link_ksettings, -@@ -2910,6 +2935,7 @@ static const struct net_device_ops mtk_n +@@ -2913,6 +2938,7 @@ static const struct net_device_ops mtk_n #ifdef CONFIG_NET_POLL_CONTROLLER .ndo_poll_controller = mtk_poll_controller, #endif @@ -78,7 +78,7 @@ Signed-off-by: Felix Fietkau }; static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) -@@ -3175,6 +3201,10 @@ static int mtk_probe(struct platform_dev +@@ -3178,6 +3204,10 @@ static int mtk_probe(struct platform_dev eth->base + MTK_ETH_PPE_BASE, 2); if (err) goto err_free_dev; diff --git a/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch index 6e4584c8a..86f8a416e 100644 --- a/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/pending-5.4/811-pci_disable_usb_common_quirks.patch @@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau #endif /* __LINUX_USB_PCI_QUIRKS_H */ --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h -@@ -483,7 +483,14 @@ extern int usb_hcd_pci_probe(struct pci_ +@@ -485,7 +485,14 @@ extern int usb_hcd_pci_probe(struct pci_ extern void usb_hcd_pci_remove(struct pci_dev *dev); extern void usb_hcd_pci_shutdown(struct pci_dev *dev); diff --git a/target/linux/generic/pending-5.4/920-mangle_bootargs.patch b/target/linux/generic/pending-5.4/920-mangle_bootargs.patch index 09782e935..f0f58e7a8 100644 --- a/target/linux/generic/pending-5.4/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-5.4/920-mangle_bootargs.patch @@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz --- a/init/Kconfig +++ b/init/Kconfig -@@ -1675,6 +1675,15 @@ config EMBEDDED +@@ -1684,6 +1684,15 @@ config EMBEDDED an embedded system so certain expert options are available for configuration. diff --git a/target/linux/generic/pending-5.4/999-backport-wireless-ethernet-dispatch.patch b/target/linux/generic/pending-5.4/999-backport-wireless-ethernet-dispatch.patch index 376d6d594..13f4c4684 100644 --- a/target/linux/generic/pending-5.4/999-backport-wireless-ethernet-dispatch.patch +++ b/target/linux/generic/pending-5.4/999-backport-wireless-ethernet-dispatch.patch @@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau static int mtk_msg_level = -1; module_param_named(msg_level, mtk_msg_level, int, 0); -@@ -3122,6 +3123,22 @@ static int mtk_probe(struct platform_device *pdev) +@@ -3125,6 +3126,22 @@ static int mtk_probe(struct platform_device *pdev) } } diff --git a/target/linux/ipq806x/patches-5.4/093-7-v5.8-ipq806x-PCI-qcom-Add-ipq8064-rev2-variant.patch b/target/linux/ipq806x/patches-5.4/093-7-v5.8-ipq806x-PCI-qcom-Add-ipq8064-rev2-variant.patch index be334d72e..5530662a5 100644 --- a/target/linux/ipq806x/patches-5.4/093-7-v5.8-ipq806x-PCI-qcom-Add-ipq8064-rev2-variant.patch +++ b/target/linux/ipq806x/patches-5.4/093-7-v5.8-ipq806x-PCI-qcom-Add-ipq8064-rev2-variant.patch @@ -26,7 +26,7 @@ Acked-by: Stanimir Varbanov writel(PCS_DEEMPH_TX_DEEMPH_GEN1(24) | PCS_DEEMPH_TX_DEEMPH_GEN2_3_5DB(24) | PCS_DEEMPH_TX_DEEMPH_GEN2_6DB(34), -@@ -1330,6 +1331,7 @@ err_pm_runtime_put: +@@ -1329,6 +1330,7 @@ err_pm_runtime_put: static const struct of_device_id qcom_pcie_match[] = { { .compatible = "qcom,pcie-apq8084", .data = &ops_1_0_0 }, { .compatible = "qcom,pcie-ipq8064", .data = &ops_2_1_0 }, diff --git a/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch b/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch index 4afaae771..f315eba32 100644 --- a/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-03a-qca-nss-ecm-support.patch @@ -1284,7 +1284,7 @@ struct fib_table *tb; --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c -@@ -7187,3 +7187,35 @@ void addrconf_cleanup(void) +@@ -7206,3 +7206,35 @@ void addrconf_cleanup(void) destroy_workqueue(addrconf_wq); } diff --git a/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch b/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch index 60e55938f..420e4da4a 100644 --- a/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-03b-qca-nss-ecm-support.patch @@ -101,7 +101,7 @@ --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c -@@ -1298,6 +1298,7 @@ static void ipgre_tap_setup(struct net_d +@@ -1297,6 +1297,7 @@ static void ipgre_tap_setup(struct net_d dev->netdev_ops = &gre_tap_netdev_ops; dev->priv_flags &= ~IFF_TX_SKB_SHARING; dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; diff --git a/target/linux/ipq806x/patches-5.4/999-07b-qca-nss-clients-qdisc-support.patch b/target/linux/ipq806x/patches-5.4/999-07b-qca-nss-clients-qdisc-support.patch index c3b33f214..7976621d9 100644 --- a/target/linux/ipq806x/patches-5.4/999-07b-qca-nss-clients-qdisc-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-07b-qca-nss-clients-qdisc-support.patch @@ -8,7 +8,7 @@ u32 limit; const struct Qdisc_ops *ops; struct qdisc_size_table __rcu *stab; -@@ -1349,4 +1350,9 @@ static inline void skb_tc_reinsert(struc +@@ -1335,4 +1336,9 @@ static inline void skb_tc_reinsert(struc qstats_overlimit_inc(res->qstats); } diff --git a/target/linux/ipq806x/patches-5.4/999-08-qca-mcs-support.patch b/target/linux/ipq806x/patches-5.4/999-08-qca-mcs-support.patch index 9434af3d4..e87ded79b 100644 --- a/target/linux/ipq806x/patches-5.4/999-08-qca-mcs-support.patch +++ b/target/linux/ipq806x/patches-5.4/999-08-qca-mcs-support.patch @@ -129,7 +129,7 @@ { struct net_device *indev, *brdev = BR_INPUT_SKB_CB(skb)->brdev; struct net_bridge *br = netdev_priv(brdev); -@@ -65,6 +75,7 @@ static int br_pass_frame_up(struct sk_bu +@@ -72,6 +82,7 @@ static int br_pass_frame_up(struct sk_bu dev_net(indev), NULL, skb, indev, NULL, br_netif_receive_skb); } @@ -137,7 +137,7 @@ /* note: already called with rcu_read_lock */ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb) -@@ -76,6 +87,11 @@ int br_handle_frame_finish(struct net *n +@@ -83,6 +94,11 @@ int br_handle_frame_finish(struct net *n bool local_rcv, mcast_hit = false; struct net_bridge *br; u16 vid = 0; @@ -149,7 +149,7 @@ if (!p || p->state == BR_STATE_DISABLED) goto drop; -@@ -132,6 +148,12 @@ int br_handle_frame_finish(struct net *n +@@ -139,6 +155,12 @@ int br_handle_frame_finish(struct net *n switch (pkt_type) { case BR_PKT_MULTICAST: @@ -162,7 +162,7 @@ mdst = br_mdb_get(br, skb, vid); if ((mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) && br_multicast_querier_exists(br, eth_hdr(skb))) { -@@ -147,7 +169,15 @@ int br_handle_frame_finish(struct net *n +@@ -154,7 +176,15 @@ int br_handle_frame_finish(struct net *n } break; case BR_PKT_UNICAST: @@ -179,7 +179,7 @@ default: break; } -@@ -162,12 +192,20 @@ int br_handle_frame_finish(struct net *n +@@ -169,12 +199,20 @@ int br_handle_frame_finish(struct net *n dst->used = now; br_forward(dst->dst, skb, local_rcv, false); } else { diff --git a/target/linux/ramips/patches-5.4/401-net-ethernet-mediatek-support-net-labels.patch b/target/linux/ramips/patches-5.4/401-net-ethernet-mediatek-support-net-labels.patch index 6b63413d1..47fda0f6e 100644 --- a/target/linux/ramips/patches-5.4/401-net-ethernet-mediatek-support-net-labels.patch +++ b/target/linux/ramips/patches-5.4/401-net-ethernet-mediatek-support-net-labels.patch @@ -14,7 +14,7 @@ Signed-off-by: RenĂ© van Dorst --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2941,6 +2941,7 @@ static const struct net_device_ops mtk_n +@@ -2944,6 +2944,7 @@ static const struct net_device_ops mtk_n static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) { @@ -22,7 +22,7 @@ Signed-off-by: RenĂ© van Dorst const __be32 *_id = of_get_property(np, "reg", NULL); struct phylink *phylink; int phy_mode, id, err; -@@ -3033,6 +3034,9 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -3036,6 +3037,9 @@ static int mtk_add_mac(struct mtk_eth *e eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH - MTK_RX_ETH_HLEN; diff --git a/target/linux/rockchip/patches-5.4/010-arm64-dts-rockchip-add-EEPROM-node-for-NanoPi-R4S.patch b/target/linux/rockchip/patches-5.4/010-arm64-dts-rockchip-add-EEPROM-node-for-NanoPi-R4S.patch index a5631b632..b65c55c27 100644 --- a/target/linux/rockchip/patches-5.4/010-arm64-dts-rockchip-add-EEPROM-node-for-NanoPi-R4S.patch +++ b/target/linux/rockchip/patches-5.4/010-arm64-dts-rockchip-add-EEPROM-node-for-NanoPi-R4S.patch @@ -13,7 +13,7 @@ Signed-off-by: Tianling Shen --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -@@ -75,6 +75,19 @@ &emmc_phy { +@@ -68,6 +68,19 @@ &emmc_phy { status = "disabled"; }; diff --git a/target/linux/rockchip/patches-5.4/106-arm64-rockchip-add-OF-node-for-pcie-eth-on-NanoPi-R4S.patch b/target/linux/rockchip/patches-5.4/106-arm64-rockchip-add-OF-node-for-pcie-eth-on-NanoPi-R4S.patch index 563a7f6df..624b993de 100644 --- a/target/linux/rockchip/patches-5.4/106-arm64-rockchip-add-OF-node-for-pcie-eth-on-NanoPi-R4S.patch +++ b/target/linux/rockchip/patches-5.4/106-arm64-rockchip-add-OF-node-for-pcie-eth-on-NanoPi-R4S.patch @@ -1,6 +1,6 @@ --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts -@@ -101,6 +101,19 @@ +@@ -96,6 +96,19 @@ max-link-speed = <1>; num-lanes = <1>; vpcie3v3-supply = <&vcc3v3_sys>; diff --git a/target/linux/rockchip/patches-5.4/204-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch b/target/linux/rockchip/patches-5.4/204-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch index 9e6dc67e6..2d1483a02 100644 --- a/target/linux/rockchip/patches-5.4/204-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch +++ b/target/linux/rockchip/patches-5.4/204-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R.patch @@ -1,8 +1,8 @@ --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -1,6 +1,7 @@ - # SPDX-License-Identifier: GPL-2.0 +@@ -2,6 +2,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-doornet1.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb diff --git a/target/linux/rockchip/patches-5.4/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch b/target/linux/rockchip/patches-5.4/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch index c160ca5f4..da48acc16 100644 --- a/target/linux/rockchip/patches-5.4/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch +++ b/target/linux/rockchip/patches-5.4/205-rockchip-rk3399-Add-support-for-EmbedFire-DoorNet2.patch @@ -783,7 +783,7 @@ --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -2191,6 +2191,8 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv) +@@ -2187,6 +2187,8 @@ static int stmmac_init_dma_engine(struct stmmac_priv *priv) if (priv->extend_desc && (priv->mode == STMMAC_RING_MODE)) atds = 1; diff --git a/target/linux/rockchip/patches-5.4/206-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch b/target/linux/rockchip/patches-5.4/206-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch index eabd5bb3b..db5c1ddb9 100644 --- a/target/linux/rockchip/patches-5.4/206-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch +++ b/target/linux/rockchip/patches-5.4/206-rockchip-rk3328-Add-support-for-OrangePi-R1-Plus-LTS.patch @@ -9,8 +9,6 @@ Subject: [PATCH] Add support for OrangePi R1 Plus LTS 2 files changed, 45 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts -diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile -index 23373c752..552d97555 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -5,6 +5,7 @@ @@ -21,9 +19,6 @@ index 23373c752..552d97555 100644 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb -diff --git a/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts -new file mode 100644 -index 000000000..c65f7c417 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts @@ -0,0 +1,70 @@ @@ -97,5 +92,3 @@ index 000000000..c65f7c417 +&lan_led { + label = "orangepi-r1-plus-lts:green:lan"; +}; --- -2.25.1 diff --git a/target/linux/rockchip/patches-5.4/207-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch b/target/linux/rockchip/patches-5.4/207-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch index 438c7f1f2..6271cb94c 100644 --- a/target/linux/rockchip/patches-5.4/207-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch +++ b/target/linux/rockchip/patches-5.4/207-rockchip-rk3328-add-support-for-FriendlyARM-NanoPi-Neo3.patch @@ -33,21 +33,16 @@ to status_led in accordance with the board schematics. 2 files changed, 397 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts -diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile -index 479906f3a..5f6ffb496 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile -@@ -3,6 +3,7 @@ - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-doornet1.dtb +@@ -4,6 +4,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-neo3.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-orangepi-r1-plus-lts.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb - dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb -diff --git a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts -new file mode 100644 -index 000000000..1eb7fd5f7 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3.dts @@ -0,0 +1,396 @@ @@ -447,6 +442,3 @@ index 000000000..1eb7fd5f7 + realtek,led-data = <0x87>; + }; +}; --- -2.34.1 - diff --git a/target/linux/rockchip/patches-5.4/601-net-phy-Add-driver-for-Motorcomm-YT8531-PHYs.patch b/target/linux/rockchip/patches-5.4/601-net-phy-Add-driver-for-Motorcomm-YT8531-PHYs.patch index d90bf963b..68b6e8c86 100644 --- a/target/linux/rockchip/patches-5.4/601-net-phy-Add-driver-for-Motorcomm-YT8531-PHYs.patch +++ b/target/linux/rockchip/patches-5.4/601-net-phy-Add-driver-for-Motorcomm-YT8531-PHYs.patch @@ -23,7 +23,7 @@ Subject: [PATCH] net: phy: Add driver for Motorcomm YT8531(S) PHYs /** * stmmac_verify_args - verify the driver parameters. * Description: it checks the driver parameters and set a default in case of -@@ -4431,6 +4435,74 @@ int stmmac_reinit_ringparam(struct net_device *dev, u32 rx_size, u32 tx_size) +@@ -4433,6 +4437,74 @@ int stmmac_reinit_ringparam(struct net_device *dev, u32 rx_size, u32 tx_size) return 0; } @@ -98,7 +98,7 @@ Subject: [PATCH] net: phy: Add driver for Motorcomm YT8531(S) PHYs /** * stmmac_dvr_probe * @device: device pointer -@@ -4655,6 +4727,16 @@ int stmmac_dvr_probe(struct device *device, +@@ -4657,6 +4729,16 @@ int stmmac_dvr_probe(struct device *device, netdev_err(ndev, "failed to setup phy (%d)\n", ret); goto error_phy_setup; } diff --git a/target/linux/rockchip/patches-5.4/809-arm64-dts-doornet1-add-rk3328-dmc-relate-node.patch b/target/linux/rockchip/patches-5.4/809-arm64-dts-doornet1-add-rk3328-dmc-relate-node.patch index 54cd42051..543bd1949 100644 --- a/target/linux/rockchip/patches-5.4/809-arm64-dts-doornet1-add-rk3328-dmc-relate-node.patch +++ b/target/linux/rockchip/patches-5.4/809-arm64-dts-doornet1-add-rk3328-dmc-relate-node.patch @@ -19,7 +19,7 @@ index 8333351..d984163 100644 #include "rk3328.dtsi" / { -@@ -56,6 +57,72 @@ +@@ -58,6 +59,72 @@ enable-active-high; }; @@ -92,7 +92,7 @@ index 8333351..d984163 100644 leds { compatible = "gpio-leds"; pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>; -@@ -138,6 +205,10 @@ +@@ -140,6 +207,10 @@ cpu-supply = <&vdd_arm>; }; @@ -103,7 +103,7 @@ index 8333351..d984163 100644 &gmac2io { assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>; assigned-clock-parents = <&gmac_clk>, <&gmac_clk>; -@@ -201,6 +272,7 @@ +@@ -185,6 +256,7 @@ regulator-name = "vdd_log"; regulator-always-on; regulator-boot-on; @@ -111,7 +111,7 @@ index 8333351..d984163 100644 regulator-min-microvolt = <712500>; regulator-max-microvolt = <1450000>; regulator-ramp-delay = <12500>; -@@ -215,6 +287,7 @@ +@@ -199,6 +271,7 @@ regulator-name = "vdd_arm"; regulator-always-on; regulator-boot-on;