[openwrt/openwrt] kernel: bump 5.4 to 5.4.150

LEDE Commits lede-commits at lists.infradead.org
Sat Oct 2 08:44:35 PDT 2021


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-21.02:
https://git.openwrt.org/8cc7ac54b6cfbccf61f31c51313e6480811b5f44

commit 8cc7ac54b6cfbccf61f31c51313e6480811b5f44
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Sat Oct 2 15:29:16 2021 +0200

    kernel: bump 5.4 to 5.4.150
    
    Manually rebased:
      generic/backport-5.4/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch
      generic/pending-5.4/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch
      mvebu/patches-5.4/021-arm64-dts-marvell-armada-37xx-Move-PCIe-comphy-handl.patch
    
    Removed upstreamed:
      generic/backport-5.4/040-ARM-8918-2-only-build-return_address-if-needed.patch
      layerscape/patches-5.4/819-uart-0004-MLK-18137-fsl_lpuart-Fix-loopback-mode.patch
    
    All others updated automatically.
    
    Compile-tested on: lantiq/xrx200, armvirt/64
    Runtime-tested on: lantiq/xrx200, armvirt/64
    
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 include/kernel-version.mk                          |  4 +-
 .../802-usb-xhci-force-msi-renesas-xhci.patch      |  2 +-
 .../patches-5.4/910-unaligned_access_hacks.patch   |  2 +-
 .../950-0040-fbdev-add-FBIOCOPYAREA-ioctl.patch    |  8 +--
 ...950-0043-MMC-added-alternative-MMC-driver.patch |  6 +--
 ...mbing-for-updating-interrupt-endpoint-int.patch |  4 +-
 ...ent-xhci_fixup_endpoint-for-interval-adju.patch |  4 +-
 ...irk-for-host-controllers-that-don-t-updat.patch |  2 +-
 ...Use-more-event-ring-segment-table-entries.patch |  2 +-
 ...f-Add-inbound-resource-parsing-to-helpers.patch |  8 +--
 ...-xhci-quirks-add-link-TRB-quirk-for-VL805.patch |  2 +-
 ...-dsa-b53-Use-dev_-err-info-instead-of-pr_.patch |  4 +-
 ...-add-support-for-performing-fake-doorbell.patch |  2 +-
 .../patches-5.4/905-BCM53573-minor-hacks.patch     |  4 +-
 ...b-host-fotg2-add-Gemini-specific-handling.patch |  4 +-
 ...918-2-only-build-return_address-if-needed.patch | 60 ----------------------
 ...f_flow_table-fix-offloaded-connection-tim.patch |  8 +--
 ...-v5.5-net-phy-add-core-phylib-sfp-support.patch |  2 +-
 ...dsa-mt7530-add-support-for-port-mirroring.patch |  4 +-
 ...dd-support-for-clause-37-auto-negotiation.patch |  2 +-
 .../753-v5.8-net-dsa-mt7530-fix-VLAN-setup.patch   |  6 +--
 ...louder-when-a-non-legacy-FDB-operation-fa.patch |  4 +-
 ...-t-use-switchdev_notifier_fdb_info-in-dsa.patch |  8 +--
 ...e-switchdev-event-implementation-under-th.patch |  4 +-
 ...t-early-in-dsa_slave_switchdev_event-if-w.patch |  2 +-
 ...ten-for-SWITCHDEV_-FDB-DEL-_ADD_TO_DEVICE.patch |  6 +--
 ...dd-sysfs-attributes-for-VPD-pages-0h-and-.patch |  6 +--
 .../linux/generic/hack-5.4/220-gc_sections.patch   |  2 +-
 .../generic/hack-5.4/660-fq_codel_defaults.patch   |  2 +-
 .../hack-5.4/661-use_fq_codel_by_default.patch     |  4 +-
 .../generic/hack-5.4/904-debloat_dma_buf.patch     |  2 +-
 ...jecting-with-source-address-failed-policy.patch | 18 +++----
 .../761-net-dsa-mt7530-Support-EEE-features.patch  |  6 +--
 ...lude-local-addresses-in-assisted-CPU-port.patch |  2 +-
 ...lude-bridge-addresses-in-assisted-CPU-por.patch |  2 +-
 ...c-static-FDB-entries-on-foreign-interface.patch |  4 +-
 ...C-device-struct-copy-its-DMA-params-to-th.patch | 10 +---
 .../810-pci_disable_common_quirks.patch            |  6 +--
 .../811-pci_disable_usb_common_quirks.patch        |  2 +-
 .../generic/pending-5.4/834-ledtrig-libata.patch   |  8 +--
 ...dhci-msm-use-sdhci_set_clock-instead-of-s.patch |  2 +-
 ...s1046a-accumulated-change-to-ls1046a-boar.patch |  2 +-
 ...xp-frwy-ls1046a-add-support-for-micron-no.patch |  2 +-
 ...sl-ls1046-Modify-the-qspi-flash-frequency.patch |  4 +-
 ...64-dts-ls1046ardb-Update-qspi-node-dts-pr.patch |  2 +-
 ...gure-the-Time-Aware-Scheduler-via-tc-tapr.patch |  6 +--
 ...e-TSN-Qbv-PSPEED-set-according-to-adjust-.patch |  2 +-
 ...upport-Credit-Based-Shaper-CBS-for-hardwa.patch |  2 +-
 ...-376-enetc-disable-EEE-autoneg-by-default.patch |  4 +-
 ...etc-add-ioctl-support-for-PHY-related-ops.patch |  2 +-
 ...port-aer-pme-interrupts-with-none-MSI-MSI.patch |  2 +-
 ...04-MLK-18137-fsl_lpuart-Fix-loopback-mode.patch | 28 ----------
 ...b-0005-usb-dwc3-add-otg-properties-update.patch |  2 +-
 ...-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch |  4 +-
 ...-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch |  4 +-
 ...LK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch |  2 +-
 ...1-usb-host-xhci-add-.bus_suspend-override.patch |  4 +-
 ...-Add-VFIO-framework-skeleton-for-fsl-mc-d.patch |  2 +-
 ...pagate-resolved-link-config-via-mac_link_.patch |  4 +-
 ...530-use-resolved-link-config-in-mac_link_.patch |  8 +--
 ...530-Extend-device-data-ready-for-adding-a.patch | 12 ++---
 ...a-mt7530-Add-the-support-of-MT7531-switch.patch | 40 +++++++--------
 .../patches-5.4/0900-bt-mtk-serial-fix.patch       |  4 +-
 ...k-Wait-for-endpoint-to-be-ready-before-tr.patch |  2 +-
 ...k-Train-link-immediately-after-enabling-t.patch |  4 +-
 .../017-PCI-aardvark-Improve-link-training.patch   | 12 ++---
 .../018-PCI-aardvark-Issue-PERST-via-GPIO.patch    |  8 +--
 .../019-PCI-aardvark-Add-PHY-support.patch         | 10 ++--
 ...arvell-armada-37xx-Move-PCIe-comphy-handl.patch |  8 +--
 ...arvell-armada-37xx-Move-PCIe-max-link-spe.patch |  6 +--
 ...k-Don-t-touch-PCIe-registers-if-no-card-c.patch |  2 +-
 ...k-Fix-initialization-with-old-Marvell-s-A.patch |  2 +-
 ...rk-for-Gateworks-PLX-PEX860x-switch-with-.patch |  2 +-
 .../linux/oxnas/patches-5.4/999-libata-hacks.patch |  4 +-
 .../patches-5.4/200-pcengines-apu2-reboot.patch    |  2 +-
 75 files changed, 175 insertions(+), 269 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index d010136142..402136bb26 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 endif
 
-LINUX_VERSION-5.4 = .143
+LINUX_VERSION-5.4 = .150
 
-LINUX_KERNEL_HASH-5.4.143 = 0953650b05a5f806d76c5691583e94e141f4f691bc0ba75a60b643740f021d24
+LINUX_KERNEL_HASH-5.4.150 = f424a9bbb05007f04c17f96a2e4f041a8001554a9060d2c291606e8a97c62aa2
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
diff --git a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch
index 3c33253ec4..4217a1e949 100644
--- a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch
+++ b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch
@@ -43,7 +43,7 @@ produce a noisy warning.
  		hcd->msi_enabled = 1;
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1884,6 +1884,7 @@ struct xhci_hcd {
+@@ -1887,6 +1887,7 @@ struct xhci_hcd {
  	struct xhci_hub		usb2_rhub;
  	struct xhci_hub		usb3_rhub;
  	/* support xHCI 1.0 spec USB2 hardware LPM */
diff --git a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch
index 55b198eb0c..d2200c8976 100644
--- a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch
@@ -171,7 +171,7 @@
  #define UDP_CORK	1	/* Never send partially complete segments */
 --- a/net/netfilter/nf_conntrack_core.c
 +++ b/net/netfilter/nf_conntrack_core.c
-@@ -271,8 +271,8 @@ nf_ct_get_tuple(const struct sk_buff *sk
+@@ -266,8 +266,8 @@ nf_ct_get_tuple(const struct sk_buff *sk
  
  	switch (l3num) {
  	case NFPROTO_IPV4:
diff --git a/target/linux/bcm27xx/patches-5.4/950-0040-fbdev-add-FBIOCOPYAREA-ioctl.patch b/target/linux/bcm27xx/patches-5.4/950-0040-fbdev-add-FBIOCOPYAREA-ioctl.patch
index f42c2697f3..23d6cd3139 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0040-fbdev-add-FBIOCOPYAREA-ioctl.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0040-fbdev-add-FBIOCOPYAREA-ioctl.patch
@@ -234,7 +234,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  static int bcm2708_fb_register(struct bcm2708_fb *fb)
 --- a/drivers/video/fbdev/core/fbmem.c
 +++ b/drivers/video/fbdev/core/fbmem.c
-@@ -1074,6 +1074,30 @@ fb_blank(struct fb_info *info, int blank
+@@ -1080,6 +1080,30 @@ fb_blank(struct fb_info *info, int blank
  }
  EXPORT_SYMBOL(fb_blank);
  
@@ -265,7 +265,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
  			unsigned long arg)
  {
-@@ -1082,6 +1106,7 @@ static long do_fb_ioctl(struct fb_info *
+@@ -1088,6 +1112,7 @@ static long do_fb_ioctl(struct fb_info *
  	struct fb_fix_screeninfo fix;
  	struct fb_cmap cmap_from;
  	struct fb_cmap_user cmap;
@@ -273,7 +273,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  	void __user *argp = (void __user *)arg;
  	long ret = 0;
  
-@@ -1157,6 +1182,15 @@ static long do_fb_ioctl(struct fb_info *
+@@ -1163,6 +1188,15 @@ static long do_fb_ioctl(struct fb_info *
  		unlock_fb_info(info);
  		console_unlock();
  		break;
@@ -289,7 +289,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  	default:
  		lock_fb_info(info);
  		fb = info->fbops;
-@@ -1302,6 +1336,7 @@ static long fb_compat_ioctl(struct file
+@@ -1308,6 +1342,7 @@ static long fb_compat_ioctl(struct file
  	case FBIOPAN_DISPLAY:
  	case FBIOGET_CON2FBMAP:
  	case FBIOPUT_CON2FBMAP:
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 16db439b89..378c605d35 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 <yaroslavros at gmail.com>
  static inline int mmc_blk_part_switch(struct mmc_card *card,
  				      unsigned int part_type);
  
-@@ -2892,6 +2899,7 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2891,6 +2898,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 <yaroslavros at gmail.com>
  
  	/*
  	 * Check that the card supports the command class(es) we need.
-@@ -2899,7 +2907,16 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2898,7 +2906,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 <yaroslavros at gmail.com>
  
  	card->complete_wq = alloc_workqueue("mmc_complete",
  					WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
-@@ -2914,9 +2931,14 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2913,9 +2930,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-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 f654cd8a57..9e886ee2df 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 <jonathan at raspberrypi.org>
  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 <jonathan at raspberrypi.org>
  		/* 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-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
index 49f714991c..1016627521 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
@@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
 
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -1468,6 +1468,103 @@ command_cleanup:
+@@ -1469,6 +1469,103 @@ command_cleanup:
  }
  
  /*
@@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
   * non-error returns are a promise to giveback() the urb later
   * we drop ownership so next owner (or urb unlink) can get it
   */
-@@ -5357,6 +5454,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5358,6 +5455,7 @@ static const struct hc_driver xhci_hc_dr
  	.endpoint_reset =	xhci_endpoint_reset,
  	.check_bandwidth =	xhci_check_bandwidth,
  	.reset_bandwidth =	xhci_reset_bandwidth,
diff --git a/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch b/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch
index 0c3f290ea2..947b00b398 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0264-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch
@@ -80,7 +80,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  	/*
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1874,6 +1874,7 @@ struct xhci_hcd {
+@@ -1877,6 +1877,7 @@ struct xhci_hcd {
  #define XHCI_DEFAULT_PM_RUNTIME_ALLOW	BIT_ULL(33)
  #define XHCI_RESET_PLL_ON_DISCONNECT	BIT_ULL(34)
  #define XHCI_SNPS_BROKEN_SUSPEND    BIT_ULL(35)
diff --git a/target/linux/bcm27xx/patches-5.4/950-0293-xhci-Use-more-event-ring-segment-table-entries.patch b/target/linux/bcm27xx/patches-5.4/950-0293-xhci-Use-more-event-ring-segment-table-entries.patch
index 1758e49761..edddd313a8 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0293-xhci-Use-more-event-ring-segment-table-entries.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0293-xhci-Use-more-event-ring-segment-table-entries.patch
@@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  			val);
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1650,8 +1650,8 @@ struct urb_priv {
+@@ -1653,8 +1653,8 @@ struct urb_priv {
   * Each segment table entry is 4*32bits long.  1K seems like an ok size:
   * (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table,
   * meaning 64 ring segments.
diff --git a/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch b/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch
index 86ef121230..bbcb3aeeda 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0441-PCI-of-Add-inbound-resource-parsing-to-helpers.patch
@@ -82,7 +82,7 @@ Cc: linux-rockchip at lists.infradead.org
  
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1060,7 +1060,8 @@ static int advk_pcie_probe(struct platfo
+@@ -1176,7 +1176,8 @@ static int advk_pcie_probe(struct platfo
  		return ret;
  	}
  
@@ -249,7 +249,7 @@ Cc: linux-rockchip at lists.infradead.org
  
 --- a/drivers/pci/controller/pcie-xilinx-nwl.c
 +++ b/drivers/pci/controller/pcie-xilinx-nwl.c
-@@ -845,8 +845,8 @@ static int nwl_pcie_probe(struct platfor
+@@ -857,8 +857,8 @@ static int nwl_pcie_probe(struct platfor
  		return err;
  	}
  
@@ -402,7 +402,7 @@ Cc: linux-rockchip at lists.infradead.org
  }
 --- a/include/linux/pci.h
 +++ b/include/linux/pci.h
-@@ -2278,6 +2278,7 @@ struct irq_domain;
+@@ -2279,6 +2279,7 @@ struct irq_domain;
  struct irq_domain *pci_host_bridge_of_msi_domain(struct pci_bus *bus);
  int pci_parse_request_of_pci_ranges(struct device *dev,
  				    struct list_head *resources,
@@ -410,7 +410,7 @@ Cc: linux-rockchip at lists.infradead.org
  				    struct resource **bus_range);
  
  /* Arch may override this (weak) */
-@@ -2286,9 +2287,11 @@ struct device_node *pcibios_get_phb_of_n
+@@ -2287,9 +2288,11 @@ struct device_node *pcibios_get_phb_of_n
  #else	/* CONFIG_OF */
  static inline struct irq_domain *
  pci_host_bridge_of_msi_domain(struct pci_bus *bus) { return NULL; }
diff --git a/target/linux/bcm27xx/patches-5.4/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch b/target/linux/bcm27xx/patches-5.4/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
index 149fd08d06..627ec30f06 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0993-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
@@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1877,6 +1877,7 @@ struct xhci_hcd {
+@@ -1880,6 +1880,7 @@ struct xhci_hcd {
  #define XHCI_EP_CTX_BROKEN_DCS	BIT_ULL(36)
  #define XHCI_SKIP_PHY_INIT	BIT_ULL(37)
  #define XHCI_DISABLE_SPARSE	BIT_ULL(38)
diff --git a/target/linux/bcm4908/patches-5.4/070-v5.10-0001-net-dsa-b53-Use-dev_-err-info-instead-of-pr_.patch b/target/linux/bcm4908/patches-5.4/070-v5.10-0001-net-dsa-b53-Use-dev_-err-info-instead-of-pr_.patch
index 23e54f449e..be09ab9e7d 100644
--- a/target/linux/bcm4908/patches-5.4/070-v5.10-0001-net-dsa-b53-Use-dev_-err-info-instead-of-pr_.patch
+++ b/target/linux/bcm4908/patches-5.4/070-v5.10-0001-net-dsa-b53-Use-dev_-err-info-instead-of-pr_.patch
@@ -26,7 +26,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  #include <linux/delay.h>
  #include <linux/export.h>
  #include <linux/gpio.h>
-@@ -2476,8 +2474,9 @@ int b53_switch_detect(struct b53_device
+@@ -2475,8 +2473,9 @@ int b53_switch_detect(struct b53_device
  			dev->chip_id = id32;
  			break;
  		default:
@@ -38,7 +38,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  			return -ENODEV;
  		}
  	}
-@@ -2507,7 +2506,8 @@ int b53_switch_register(struct b53_devic
+@@ -2506,7 +2505,8 @@ int b53_switch_register(struct b53_devic
  	if (ret)
  		return ret;
  
diff --git a/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
index 72ea0cbd3b..5469beb53f 100644
--- a/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
+++ b/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
@@ -127,7 +127,7 @@ it on BCM4708 family.
  /*
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1874,6 +1874,7 @@ struct xhci_hcd {
+@@ -1877,6 +1877,7 @@ struct xhci_hcd {
  #define XHCI_DEFAULT_PM_RUNTIME_ALLOW	BIT_ULL(33)
  #define XHCI_RESET_PLL_ON_DISCONNECT	BIT_ULL(34)
  #define XHCI_SNPS_BROKEN_SUSPEND    BIT_ULL(35)
diff --git a/target/linux/bcm53xx/patches-5.4/905-BCM53573-minor-hacks.patch b/target/linux/bcm53xx/patches-5.4/905-BCM53573-minor-hacks.patch
index f47ea95c95..3f92f8865b 100644
--- a/target/linux/bcm53xx/patches-5.4/905-BCM53573-minor-hacks.patch
+++ b/target/linux/bcm53xx/patches-5.4/905-BCM53573-minor-hacks.patch
@@ -21,7 +21,7 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
  	clocks {
 --- a/drivers/bcma/main.c
 +++ b/drivers/bcma/main.c
-@@ -330,14 +330,6 @@ static int bcma_register_devices(struct
+@@ -328,14 +328,6 @@ static int bcma_register_devices(struct
  	}
  #endif
  
@@ -36,7 +36,7 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
  #ifdef CONFIG_BCMA_NFLASH
  	if (bus->drv_cc.nflash.present) {
  		err = platform_device_register(&bcma_nflash_dev);
-@@ -415,6 +407,14 @@ int bcma_bus_register(struct bcma_bus *b
+@@ -413,6 +405,14 @@ int bcma_bus_register(struct bcma_bus *b
  			bcma_register_core(bus, core);
  	}
  
diff --git a/target/linux/gemini/patches-5.4/0001-usb-host-fotg2-add-Gemini-specific-handling.patch b/target/linux/gemini/patches-5.4/0001-usb-host-fotg2-add-Gemini-specific-handling.patch
index 4a6a804ca4..df68adc66b 100644
--- a/target/linux/gemini/patches-5.4/0001-usb-host-fotg2-add-Gemini-specific-handling.patch
+++ b/target/linux/gemini/patches-5.4/0001-usb-host-fotg2-add-Gemini-specific-handling.patch
@@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
  
  #include <asm/byteorder.h>
  #include <asm/irq.h>
-@@ -5558,6 +5562,72 @@ static void fotg210_init(struct fotg210_
+@@ -5555,6 +5559,72 @@ static void fotg210_init(struct fotg210_
  	iowrite32(value, &fotg210->regs->otgcsr);
  }
  
@@ -116,7 +116,7 @@ Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
  /**
   * fotg210_hcd_probe - initialize faraday FOTG210 HCDs
   *
-@@ -5635,6 +5705,12 @@ static int fotg210_hcd_probe(struct plat
+@@ -5632,6 +5702,12 @@ static int fotg210_hcd_probe(struct plat
  
  	fotg210_init(fotg210);
  
diff --git a/target/linux/generic/backport-5.4/040-ARM-8918-2-only-build-return_address-if-needed.patch b/target/linux/generic/backport-5.4/040-ARM-8918-2-only-build-return_address-if-needed.patch
deleted file mode 100644
index c9301f9c2a..0000000000
--- a/target/linux/generic/backport-5.4/040-ARM-8918-2-only-build-return_address-if-needed.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From fb033c95c94ca1ee3d16e04ebdb85d65fb55fff8 Mon Sep 17 00:00:00 2001
-From: Ben Dooks <ben-linux at fluff.org>
-Date: Mon, 4 Nov 2019 18:15:15 +0100
-Subject: [PATCH] ARM: 8918/2: only build return_address() if needed
-
-The system currently warns if the config conditions for
-building return_address in arch/arm/kernel/return_address.c
-are not met, leaving just an EXPORT_SYMBOL_GPL(return_address)
-of a function defined to be 'static linline'.
-This is a result of aeea3592a13b ("ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h").
-
-Since we're not going to build anything other than an exported
-symbol for something that is already being defined to be an
-inline-able return of NULL, just avoid building the code to
-remove the following warning:
-
-Fixes: aeea3592a13b ("ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h")
-Signed-off-by: Ben Dooks <ben.dooks at codethink.co.uk>
-Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
----
- arch/arm/kernel/Makefile         | 6 +++++-
- arch/arm/kernel/return_address.c | 4 ----
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
---- a/arch/arm/kernel/Makefile
-+++ b/arch/arm/kernel/Makefile
-@@ -17,10 +17,14 @@ CFLAGS_REMOVE_return_address.o = -pg
- # Object file lists.
- 
- obj-y		:= elf.o entry-common.o irq.o opcodes.o \
--		   process.o ptrace.o reboot.o return_address.o \
-+		   process.o ptrace.o reboot.o \
- 		   setup.o signal.o sigreturn_codes.o \
- 		   stacktrace.o sys_arm.o time.o traps.o
- 
-+ifneq ($(CONFIG_ARM_UNWIND),y)
-+obj-$(CONFIG_FRAME_POINTER)	+= return_address.o
-+endif
-+
- obj-$(CONFIG_ATAGS)		+= atags_parse.o
- obj-$(CONFIG_ATAGS_PROC)	+= atags_proc.o
- obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += atags_compat.o
---- a/arch/arm/kernel/return_address.c
-+++ b/arch/arm/kernel/return_address.c
-@@ -7,8 +7,6 @@
-  */
- #include <linux/export.h>
- #include <linux/ftrace.h>
--
--#if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND)
- #include <linux/sched.h>
- 
- #include <asm/stacktrace.h>
-@@ -53,6 +51,4 @@ void *return_address(unsigned int level)
- 		return NULL;
- }
- 
--#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) */
--
- EXPORT_SYMBOL_GPL(return_address);
diff --git a/target/linux/generic/backport-5.4/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch b/target/linux/generic/backport-5.4/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch
index bf89af3840..373a156429 100644
--- a/target/linux/generic/backport-5.4/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch
+++ b/target/linux/generic/backport-5.4/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch
@@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/net/netfilter/nf_conntrack_core.c
 +++ b/net/netfilter/nf_conntrack_core.c
-@@ -1212,18 +1212,6 @@ static bool gc_worker_can_early_drop(con
+@@ -1207,18 +1207,6 @@ static bool gc_worker_can_early_drop(con
  	return false;
  }
  
@@ -39,11 +39,11 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 -
  static void gc_worker(struct work_struct *work)
  {
- 	unsigned int min_interval = max(HZ / GC_MAX_BUCKETS_DIV, 1u);
-@@ -1260,10 +1248,8 @@ static void gc_worker(struct work_struct
+ 	unsigned long end_time = jiffies + GC_SCAN_MAX_DURATION;
+@@ -1250,10 +1238,8 @@ static void gc_worker(struct work_struct
+ 
  			tmp = nf_ct_tuplehash_to_ctrack(h);
  
- 			scanned++;
 -			if (test_bit(IPS_OFFLOAD_BIT, &tmp->status)) {
 -				nf_ct_offload_timeout(tmp);
 +			if (test_bit(IPS_OFFLOAD_BIT, &tmp->status))
diff --git a/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch b/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch
index b9755e8943..11da9540e9 100644
--- a/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch
+++ b/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch
@@ -130,7 +130,7 @@ Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
  	/* Some Ethernet drivers try to connect to a PHY device before
  	 * calling register_netdevice() -> netdev_register_kobject() and
  	 * does the dev->dev.kobj initialization. Here we only check for
-@@ -2290,6 +2353,9 @@ static int phy_remove(struct device *dev
+@@ -2291,6 +2354,9 @@ static int phy_remove(struct device *dev
  	phydev->state = PHY_DOWN;
  	mutex_unlock(&phydev->lock);
  
diff --git a/target/linux/generic/backport-5.4/745-v5.7-net-dsa-mt7530-add-support-for-port-mirroring.patch b/target/linux/generic/backport-5.4/745-v5.7-net-dsa-mt7530-add-support-for-port-mirroring.patch
index 14bf827806..71a06997c3 100644
--- a/target/linux/generic/backport-5.4/745-v5.7-net-dsa-mt7530-add-support-for-port-mirroring.patch
+++ b/target/linux/generic/backport-5.4/745-v5.7-net-dsa-mt7530-add-support-for-port-mirroring.patch
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/drivers/net/dsa/mt7530.c
 +++ b/drivers/net/dsa/mt7530.c
-@@ -1146,6 +1146,64 @@ mt7530_port_vlan_del(struct dsa_switch *
+@@ -1143,6 +1143,64 @@ mt7530_port_vlan_del(struct dsa_switch *
  	return 0;
  }
  
@@ -82,7 +82,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static enum dsa_tag_protocol
  mtk_get_tag_protocol(struct dsa_switch *ds, int port)
  {
-@@ -1523,6 +1581,8 @@ static const struct dsa_switch_ops mt753
+@@ -1520,6 +1578,8 @@ static const struct dsa_switch_ops mt753
  	.port_vlan_prepare	= mt7530_port_vlan_prepare,
  	.port_vlan_add		= mt7530_port_vlan_add,
  	.port_vlan_del		= mt7530_port_vlan_del,
diff --git a/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch b/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch
index bb26986c79..69c56eca7a 100644
--- a/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch
+++ b/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch
@@ -116,7 +116,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
   * genphy_aneg_done - return auto-negotiation status
   * @phydev: target phy_device struct
   *
-@@ -1961,6 +2043,63 @@ int genphy_read_status(struct phy_device
+@@ -1962,6 +2044,63 @@ int genphy_read_status(struct phy_device
  EXPORT_SYMBOL(genphy_read_status);
  
  /**
diff --git a/target/linux/generic/backport-5.4/753-v5.8-net-dsa-mt7530-fix-VLAN-setup.patch b/target/linux/generic/backport-5.4/753-v5.8-net-dsa-mt7530-fix-VLAN-setup.patch
index 98d213ee6e..0804cea9f7 100644
--- a/target/linux/generic/backport-5.4/753-v5.8-net-dsa-mt7530-fix-VLAN-setup.patch
+++ b/target/linux/generic/backport-5.4/753-v5.8-net-dsa-mt7530-fix-VLAN-setup.patch
@@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/drivers/net/dsa/mt7530.c
 +++ b/drivers/net/dsa/mt7530.c
-@@ -1086,12 +1086,6 @@ mt7530_port_vlan_add(struct dsa_switch *
+@@ -1083,12 +1083,6 @@ mt7530_port_vlan_add(struct dsa_switch *
  	struct mt7530_priv *priv = ds->priv;
  	u16 vid;
  
@@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	mutex_lock(&priv->reg_mutex);
  
  	for (vid = vlan->vid_begin; vid <= vlan->vid_end; ++vid) {
-@@ -1117,12 +1111,6 @@ mt7530_port_vlan_del(struct dsa_switch *
+@@ -1114,12 +1108,6 @@ mt7530_port_vlan_del(struct dsa_switch *
  	struct mt7530_priv *priv = ds->priv;
  	u16 vid, pvid;
  
@@ -41,7 +41,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	mutex_lock(&priv->reg_mutex);
  
  	pvid = priv->ports[port].pvid;
-@@ -1235,6 +1223,7 @@ mt7530_setup(struct dsa_switch *ds)
+@@ -1232,6 +1220,7 @@ mt7530_setup(struct dsa_switch *ds)
  	 * as two netdev instances.
  	 */
  	dn = ds->ports[MT7530_CPU_PORT].master->dev.of_node->parent;
diff --git a/target/linux/generic/backport-5.4/771-v5.12-net-dsa-be-louder-when-a-non-legacy-FDB-operation-fa.patch b/target/linux/generic/backport-5.4/771-v5.12-net-dsa-be-louder-when-a-non-legacy-FDB-operation-fa.patch
index 9ec1a226b5..893eb719ca 100644
--- a/target/linux/generic/backport-5.4/771-v5.12-net-dsa-be-louder-when-a-non-legacy-FDB-operation-fa.patch
+++ b/target/linux/generic/backport-5.4/771-v5.12-net-dsa-be-louder-when-a-non-legacy-FDB-operation-fa.patch
@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
 
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -1595,7 +1595,9 @@ static void dsa_slave_switchdev_event_wo
+@@ -1593,7 +1593,9 @@ static void dsa_slave_switchdev_event_wo
  
  		err = dsa_port_fdb_add(dp, fdb_info->addr, fdb_info->vid);
  		if (err) {
@@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  			break;
  		}
  		fdb_info->offloaded = true;
-@@ -1610,9 +1612,11 @@ static void dsa_slave_switchdev_event_wo
+@@ -1608,9 +1610,11 @@ static void dsa_slave_switchdev_event_wo
  
  		err = dsa_port_fdb_del(dp, fdb_info->addr, fdb_info->vid);
  		if (err) {
diff --git a/target/linux/generic/backport-5.4/772-v5.12-net-dsa-don-t-use-switchdev_notifier_fdb_info-in-dsa.patch b/target/linux/generic/backport-5.4/772-v5.12-net-dsa-don-t-use-switchdev_notifier_fdb_info-in-dsa.patch
index bc29fbecc4..275870d19f 100644
--- a/target/linux/generic/backport-5.4/772-v5.12-net-dsa-don-t-use-switchdev_notifier_fdb_info-in-dsa.patch
+++ b/target/linux/generic/backport-5.4/772-v5.12-net-dsa-don-t-use-switchdev_notifier_fdb_info-in-dsa.patch
@@ -54,7 +54,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	struct sk_buff *	(*xmit)(struct sk_buff *skb,
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -1570,76 +1570,66 @@ static int dsa_slave_netdevice_event(str
+@@ -1568,76 +1568,66 @@ static int dsa_slave_netdevice_event(str
  	return NOTIFY_DONE;
  }
  
@@ -167,7 +167,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  }
  
  /* Called under rcu_read_lock() */
-@@ -1647,7 +1637,9 @@ static int dsa_slave_switchdev_event(str
+@@ -1645,7 +1635,9 @@ static int dsa_slave_switchdev_event(str
  				     unsigned long event, void *ptr)
  {
  	struct net_device *dev = switchdev_notifier_info_to_dev(ptr);
@@ -177,7 +177,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	int err;
  
  	if (event == SWITCHDEV_PORT_ATTR_SET) {
-@@ -1660,20 +1652,32 @@ static int dsa_slave_switchdev_event(str
+@@ -1658,20 +1650,32 @@ static int dsa_slave_switchdev_event(str
  	if (!dsa_slave_dev_check(dev))
  		return NOTIFY_DONE;
  
@@ -213,7 +213,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  		dev_hold(dev);
  		break;
  	default:
-@@ -1683,10 +1687,6 @@ static int dsa_slave_switchdev_event(str
+@@ -1681,10 +1685,6 @@ static int dsa_slave_switchdev_event(str
  
  	dsa_schedule_work(&switchdev_work->work);
  	return NOTIFY_OK;
diff --git a/target/linux/generic/backport-5.4/773-v5.12-net-dsa-move-switchdev-event-implementation-under-th.patch b/target/linux/generic/backport-5.4/773-v5.12-net-dsa-move-switchdev-event-implementation-under-th.patch
index 50c7a08590..b70986fcc1 100644
--- a/target/linux/generic/backport-5.4/773-v5.12-net-dsa-move-switchdev-event-implementation-under-th.patch
+++ b/target/linux/generic/backport-5.4/773-v5.12-net-dsa-move-switchdev-event-implementation-under-th.patch
@@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
 
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -1642,31 +1642,29 @@ static int dsa_slave_switchdev_event(str
+@@ -1640,31 +1640,29 @@ static int dsa_slave_switchdev_event(str
  	struct dsa_port *dp;
  	int err;
  
@@ -68,7 +68,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  		fdb_info = ptr;
  
  		if (!fdb_info->added_by_user) {
-@@ -1679,13 +1677,12 @@ static int dsa_slave_switchdev_event(str
+@@ -1677,13 +1675,12 @@ static int dsa_slave_switchdev_event(str
  		switchdev_work->vid = fdb_info->vid;
  
  		dev_hold(dev);
diff --git a/target/linux/generic/backport-5.4/774-v5.12-net-dsa-exit-early-in-dsa_slave_switchdev_event-if-w.patch b/target/linux/generic/backport-5.4/774-v5.12-net-dsa-exit-early-in-dsa_slave_switchdev_event-if-w.patch
index dcb6bbdc49..c7ed4064e8 100644
--- a/target/linux/generic/backport-5.4/774-v5.12-net-dsa-exit-early-in-dsa_slave_switchdev_event-if-w.patch
+++ b/target/linux/generic/backport-5.4/774-v5.12-net-dsa-exit-early-in-dsa_slave_switchdev_event-if-w.patch
@@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
 
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -1655,6 +1655,9 @@ static int dsa_slave_switchdev_event(str
+@@ -1653,6 +1653,9 @@ static int dsa_slave_switchdev_event(str
  
  		dp = dsa_slave_to_port(dev);
  
diff --git a/target/linux/generic/backport-5.4/775-v5.12-net-dsa-listen-for-SWITCHDEV_-FDB-DEL-_ADD_TO_DEVICE.patch b/target/linux/generic/backport-5.4/775-v5.12-net-dsa-listen-for-SWITCHDEV_-FDB-DEL-_ADD_TO_DEVICE.patch
index b49d11a776..e4ed6e808f 100644
--- a/target/linux/generic/backport-5.4/775-v5.12-net-dsa-listen-for-SWITCHDEV_-FDB-DEL-_ADD_TO_DEVICE.patch
+++ b/target/linux/generic/backport-5.4/775-v5.12-net-dsa-listen-for-SWITCHDEV_-FDB-DEL-_ADD_TO_DEVICE.patch
@@ -172,7 +172,7 @@ Signed-off-by: DENG Qingfang <dqfext at gmail.com>
  	 */
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -1632,6 +1632,25 @@ static void dsa_slave_switchdev_event_wo
+@@ -1630,6 +1630,25 @@ static void dsa_slave_switchdev_event_wo
  		dev_put(dp->slave);
  }
  
@@ -198,7 +198,7 @@ Signed-off-by: DENG Qingfang <dqfext at gmail.com>
  /* Called under rcu_read_lock() */
  static int dsa_slave_switchdev_event(struct notifier_block *unused,
  				     unsigned long event, void *ptr)
-@@ -1650,10 +1669,37 @@ static int dsa_slave_switchdev_event(str
+@@ -1648,10 +1667,37 @@ static int dsa_slave_switchdev_event(str
  		return notifier_from_errno(err);
  	case SWITCHDEV_FDB_ADD_TO_DEVICE:
  	case SWITCHDEV_FDB_DEL_TO_DEVICE:
@@ -239,7 +239,7 @@ Signed-off-by: DENG Qingfang <dqfext at gmail.com>
  
  		if (!dp->ds->ops->port_fdb_add || !dp->ds->ops->port_fdb_del)
  			return NOTIFY_DONE;
-@@ -1668,18 +1714,13 @@ static int dsa_slave_switchdev_event(str
+@@ -1666,18 +1712,13 @@ static int dsa_slave_switchdev_event(str
  		switchdev_work->port = dp->index;
  		switchdev_work->event = event;
  
diff --git a/target/linux/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch b/target/linux/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch
index 1e6e40df03..438588f9f4 100644
--- a/target/linux/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch
+++ b/target/linux/generic/backport-5.4/800-v5.5-scsi-core-Add-sysfs-attributes-for-VPD-pages-0h-and-.patch
@@ -68,7 +68,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
  	kfree(sdev->inquiry);
  	kfree(sdev);
  
-@@ -871,6 +880,8 @@ static struct bin_attribute dev_attr_vpd
+@@ -874,6 +883,8 @@ static struct bin_attribute dev_attr_vpd
  
  sdev_vpd_pg_attr(pg83);
  sdev_vpd_pg_attr(pg80);
@@ -77,7 +77,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
  
  static ssize_t show_inquiry(struct file *filep, struct kobject *kobj,
  			    struct bin_attribute *bin_attr,
-@@ -1203,12 +1214,18 @@ static umode_t scsi_sdev_bin_attr_is_vis
+@@ -1206,12 +1217,18 @@ static umode_t scsi_sdev_bin_attr_is_vis
  	struct scsi_device *sdev = to_scsi_device(dev);
  
  
@@ -96,7 +96,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
  	return S_IRUGO;
  }
  
-@@ -1251,8 +1268,10 @@ static struct attribute *scsi_sdev_attrs
+@@ -1254,8 +1271,10 @@ static struct attribute *scsi_sdev_attrs
  };
  
  static struct bin_attribute *scsi_sdev_bin_attrs[] = {
diff --git a/target/linux/generic/hack-5.4/220-gc_sections.patch b/target/linux/generic/hack-5.4/220-gc_sections.patch
index 22276d4399..6207eb0ec9 100644
--- a/target/linux/generic/hack-5.4/220-gc_sections.patch
+++ b/target/linux/generic/hack-5.4/220-gc_sections.patch
@@ -31,7 +31,7 @@ Signed-off-by: Gabor Juhos <juhosg at openwrt.org>
  	select OF_EARLY_FLATTREE if OF
 --- a/arch/arm/boot/compressed/Makefile
 +++ b/arch/arm/boot/compressed/Makefile
-@@ -106,6 +106,7 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
+@@ -108,6 +108,7 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
  ORIG_CFLAGS := $(KBUILD_CFLAGS)
  KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
  endif
diff --git a/target/linux/generic/hack-5.4/660-fq_codel_defaults.patch b/target/linux/generic/hack-5.4/660-fq_codel_defaults.patch
index 968ce12599..46bf0e3b0b 100644
--- a/target/linux/generic/hack-5.4/660-fq_codel_defaults.patch
+++ b/target/linux/generic/hack-5.4/660-fq_codel_defaults.patch
@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/net/sched/sch_fq_codel.c
 +++ b/net/sched/sch_fq_codel.c
-@@ -462,7 +462,11 @@ static int fq_codel_init(struct Qdisc *s
+@@ -470,7 +470,11 @@ static int fq_codel_init(struct Qdisc *s
  
  	sch->limit = 10*1024;
  	q->flows_cnt = 1024;
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 cdeac45f86..cd86a7ab84 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
@@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	register_qdisc(&pfifo_head_drop_qdisc_ops);
 --- a/net/sched/sch_fq_codel.c
 +++ b/net/sched/sch_fq_codel.c
-@@ -702,7 +702,7 @@ static const struct Qdisc_class_ops fq_c
+@@ -710,7 +710,7 @@ static const struct Qdisc_class_ops fq_c
  	.walk		=	fq_codel_walk,
  };
  
@@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	.cl_ops		=	&fq_codel_class_ops,
  	.id		=	"fq_codel",
  	.priv_size	=	sizeof(struct fq_codel_sched_data),
-@@ -717,6 +717,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
+@@ -725,6 +725,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
  	.dump_stats =	fq_codel_dump_stats,
  	.owner		=	THIS_MODULE,
  };
diff --git a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch
index 92c230c511..ad8636b16d 100644
--- a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch
+++ b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch
@@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 +MODULE_LICENSE("GPL");
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -2754,6 +2754,7 @@ int wake_up_state(struct task_struct *p,
+@@ -2767,6 +2767,7 @@ int wake_up_state(struct task_struct *p,
  {
  	return try_to_wake_up(p, state, 0);
  }
diff --git a/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index 283fc0ae4f..c7053fc686 100644
--- a/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  	case RTN_THROW:
  	case RTN_UNREACHABLE:
  	default:
-@@ -4423,6 +4442,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4426,6 +4445,17 @@ static int ip6_pkt_prohibit_out(struct n
  	return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
  }
  
@@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  /*
   *	Allocate a dst for local (unicast / anycast) address.
   */
-@@ -4903,7 +4933,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -4906,7 +4936,8 @@ static int rtm_to_fib6_config(struct sk_
  	if (rtm->rtm_type == RTN_UNREACHABLE ||
  	    rtm->rtm_type == RTN_BLACKHOLE ||
  	    rtm->rtm_type == RTN_PROHIBIT ||
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  		cfg->fc_flags |= RTF_REJECT;
  
  	if (rtm->rtm_type == RTN_LOCAL)
-@@ -6025,6 +6056,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6028,6 +6059,8 @@ static int ip6_route_dev_notify(struct n
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  		net->ipv6.ip6_prohibit_entry->dst.dev = dev;
  		net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
  		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -6036,6 +6069,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6039,6 +6072,7 @@ static int ip6_route_dev_notify(struct n
  		in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  		in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  		in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
  #endif
  	}
-@@ -6228,6 +6262,8 @@ static int __net_init ip6_route_net_init
+@@ -6231,6 +6265,8 @@ static int __net_init ip6_route_net_init
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  	net->ipv6.fib6_has_custom_rules = false;
@@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  	net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
  					       sizeof(*net->ipv6.ip6_prohibit_entry),
  					       GFP_KERNEL);
-@@ -6238,11 +6274,21 @@ static int __net_init ip6_route_net_init
+@@ -6241,11 +6277,21 @@ static int __net_init ip6_route_net_init
  			 ip6_template_metrics, true);
  	INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
  
@@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  	net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
  	dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
  			 ip6_template_metrics, true);
-@@ -6266,6 +6312,8 @@ out:
+@@ -6269,6 +6315,8 @@ out:
  	return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  out_ip6_prohibit_entry:
  	kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -6285,6 +6333,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6288,6 +6336,7 @@ static void __net_exit ip6_route_net_exi
  	kfree(net->ipv6.ip6_null_entry);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
  	kfree(net->ipv6.ip6_prohibit_entry);
@@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  	kfree(net->ipv6.ip6_blk_hole_entry);
  #endif
  	dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6362,6 +6411,9 @@ void __init ip6_route_init_special_entri
+@@ -6365,6 +6414,9 @@ void __init ip6_route_init_special_entri
  	init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
  	init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
  	init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
diff --git a/target/linux/generic/pending-5.4/761-net-dsa-mt7530-Support-EEE-features.patch b/target/linux/generic/pending-5.4/761-net-dsa-mt7530-Support-EEE-features.patch
index 02b369955b..c2dc35d134 100644
--- a/target/linux/generic/pending-5.4/761-net-dsa-mt7530-Support-EEE-features.patch
+++ b/target/linux/generic/pending-5.4/761-net-dsa-mt7530-Support-EEE-features.patch
@@ -9,7 +9,7 @@ Content-Transfer-Encoding: 8bit
 Signed-off-by: René van Dorst <opensource at vdorst.com>
 --- a/drivers/net/dsa/mt7530.c
 +++ b/drivers/net/dsa/mt7530.c
-@@ -1410,9 +1410,13 @@ static void mt7530_phylink_mac_config(st
+@@ -1407,9 +1407,13 @@ static void mt7530_phylink_mac_config(st
  	switch (state->speed) {
  	case SPEED_1000:
  		mcr_new |= PMCR_FORCE_SPEED_1000;
@@ -23,7 +23,7 @@ Signed-off-by: René van Dorst <opensource at vdorst.com>
  		break;
  	}
  	if (state->duplex == DUPLEX_FULL) {
-@@ -1548,6 +1552,54 @@ mt7530_phylink_mac_link_state(struct dsa
+@@ -1545,6 +1549,54 @@ mt7530_phylink_mac_link_state(struct dsa
  	return 1;
  }
  
@@ -78,7 +78,7 @@ Signed-off-by: René van Dorst <opensource at vdorst.com>
  static const struct dsa_switch_ops mt7530_switch_ops = {
  	.get_tag_protocol	= mtk_get_tag_protocol,
  	.setup			= mt7530_setup,
-@@ -1575,6 +1627,8 @@ static const struct dsa_switch_ops mt753
+@@ -1572,6 +1624,8 @@ static const struct dsa_switch_ops mt753
  	.phylink_mac_config	= mt7530_phylink_mac_config,
  	.phylink_mac_link_down	= mt7530_phylink_mac_link_down,
  	.phylink_mac_link_up	= mt7530_phylink_mac_link_up,
diff --git a/target/linux/generic/pending-5.4/765-net-dsa-Include-local-addresses-in-assisted-CPU-port.patch b/target/linux/generic/pending-5.4/765-net-dsa-Include-local-addresses-in-assisted-CPU-port.patch
index d73481fcc0..d951246260 100644
--- a/target/linux/generic/pending-5.4/765-net-dsa-Include-local-addresses-in-assisted-CPU-port.patch
+++ b/target/linux/generic/pending-5.4/765-net-dsa-Include-local-addresses-in-assisted-CPU-port.patch
@@ -18,7 +18,7 @@ Signed-off-by: Tobias Waldekranz <tobias at waldekranz.com>
 
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -1700,10 +1700,12 @@ static int dsa_slave_switchdev_event(str
+@@ -1698,10 +1698,12 @@ static int dsa_slave_switchdev_event(str
  		fdb_info = ptr;
  
  		if (dsa_slave_dev_check(dev)) {
diff --git a/target/linux/generic/pending-5.4/766-net-dsa-Include-bridge-addresses-in-assisted-CPU-por.patch b/target/linux/generic/pending-5.4/766-net-dsa-Include-bridge-addresses-in-assisted-CPU-por.patch
index e66aa93488..46504aeeff 100644
--- a/target/linux/generic/pending-5.4/766-net-dsa-Include-bridge-addresses-in-assisted-CPU-por.patch
+++ b/target/linux/generic/pending-5.4/766-net-dsa-Include-bridge-addresses-in-assisted-CPU-por.patch
@@ -15,7 +15,7 @@ Signed-off-by: Tobias Waldekranz <tobias at waldekranz.com>
 
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -1714,7 +1714,11 @@ static int dsa_slave_switchdev_event(str
+@@ -1712,7 +1712,11 @@ static int dsa_slave_switchdev_event(str
  			struct net_device *br_dev;
  			struct dsa_slave_priv *p;
  
diff --git a/target/linux/generic/pending-5.4/767-net-dsa-Sync-static-FDB-entries-on-foreign-interface.patch b/target/linux/generic/pending-5.4/767-net-dsa-Sync-static-FDB-entries-on-foreign-interface.patch
index 5305e3d114..e626086bc1 100644
--- a/target/linux/generic/pending-5.4/767-net-dsa-Sync-static-FDB-entries-on-foreign-interface.patch
+++ b/target/linux/generic/pending-5.4/767-net-dsa-Sync-static-FDB-entries-on-foreign-interface.patch
@@ -28,7 +28,7 @@ Signed-off-by: Tobias Waldekranz <tobias at waldekranz.com>
 
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -1707,9 +1707,12 @@ static int dsa_slave_switchdev_event(str
+@@ -1705,9 +1705,12 @@ static int dsa_slave_switchdev_event(str
  			else if (!fdb_info->added_by_user)
  				return NOTIFY_OK;
  		} else {
@@ -44,7 +44,7 @@ Signed-off-by: Tobias Waldekranz <tobias at waldekranz.com>
  			 */
  			struct net_device *br_dev;
  			struct dsa_slave_priv *p;
-@@ -1731,7 +1734,8 @@ static int dsa_slave_switchdev_event(str
+@@ -1729,7 +1732,8 @@ static int dsa_slave_switchdev_event(str
  
  			dp = p->dp->cpu_dp;
  
diff --git a/target/linux/generic/pending-5.4/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch b/target/linux/generic/pending-5.4/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch
index cb02c71829..511a9f7555 100644
--- a/target/linux/generic/pending-5.4/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch
+++ b/target/linux/generic/pending-5.4/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch
@@ -50,20 +50,14 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
  	if (err)
 --- a/drivers/bcma/main.c
 +++ b/drivers/bcma/main.c
-@@ -236,12 +236,16 @@ EXPORT_SYMBOL(bcma_core_irq);
- 
- void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core)
- {
-+	struct device *dev = &core->dev;
-+
- 	core->dev.release = bcma_release_core_dev;
+@@ -241,8 +241,10 @@ void bcma_prepare_core(struct bcma_bus *
  	core->dev.bus = &bcma_bus_type;
  	dev_set_name(&core->dev, "bcma%d:%d", bus->num, core->core_index);
  	core->dev.parent = bus->dev;
 -	if (bus->dev)
 +	if (bus->dev) {
  		bcma_of_fill_device(bus->dev, core);
-+		dma_coerce_mask_and_coherent(dev, bus->dev->coherent_dma_mask);
++		dma_coerce_mask_and_coherent(&core->dev, bus->dev->coherent_dma_mask);
 +	}
  
  	switch (bus->hosttype) {
diff --git a/target/linux/generic/pending-5.4/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-5.4/810-pci_disable_common_quirks.patch
index d50d5a5274..5aea055b72 100644
--- a/target/linux/generic/pending-5.4/810-pci_disable_common_quirks.patch
+++ b/target/linux/generic/pending-5.4/810-pci_disable_common_quirks.patch
@@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg at openwrt.org>
  /*
   * The Mellanox Tavor device gives false positive parity errors.  Mark this
   * device with a broken_parity_status to allow PCI scanning code to "skip"
-@@ -3322,6 +3323,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3323,6 +3324,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
  
@@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg at openwrt.org>
  /*
   * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
   * To work around this, query the size it should be configured to by the
-@@ -3347,6 +3350,8 @@ static void quirk_intel_ntb(struct pci_d
+@@ -3348,6 +3351,8 @@ static void quirk_intel_ntb(struct pci_d
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
  
@@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg at openwrt.org>
  /*
   * Some BIOS implementations leave the Intel GPU interrupts enabled, even
   * though no one is handling them (e.g., if the i915 driver is never
-@@ -3385,6 +3390,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3386,6 +3391,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
  
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 6e4584c8a1..86f8a416e9 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 <nbd at nbd.name>
  #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/834-ledtrig-libata.patch b/target/linux/generic/pending-5.4/834-ledtrig-libata.patch
index b289a6526a..cb049af0a5 100644
--- a/target/linux/generic/pending-5.4/834-ledtrig-libata.patch
+++ b/target/linux/generic/pending-5.4/834-ledtrig-libata.patch
@@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  /**
   *	ata_build_rw_tf - Build ATA taskfile for given read/write request
   *	@tf: Target ATA taskfile
-@@ -5117,6 +5130,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -5121,6 +5134,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
  		if (tag < 0)
  			return NULL;
  	}
@@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  
  	qc = __ata_qc_from_tag(ap, tag);
  	qc->tag = qc->hw_tag = tag;
-@@ -6053,6 +6069,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -6057,6 +6073,9 @@ struct ata_port *ata_port_alloc(struct a
  	ap->stats.unhandled_irq = 1;
  	ap->stats.idle_irq = 1;
  #endif
@@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  	ata_sff_port_init(ap);
  
  	return ap;
-@@ -6088,6 +6107,12 @@ static void ata_host_release(struct kref
+@@ -6092,6 +6111,12 @@ static void ata_host_release(struct kref
  
  		kfree(ap->pmp_link);
  		kfree(ap->slave_link);
@@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  		kfree(ap);
  		host->ports[i] = NULL;
  	}
-@@ -6551,7 +6576,23 @@ int ata_host_register(struct ata_host *h
+@@ -6555,7 +6580,23 @@ int ata_host_register(struct ata_host *h
  		host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
  		host->ports[i]->local_port_no = i + 1;
  	}
diff --git a/target/linux/ipq40xx/patches-5.4/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch b/target/linux/ipq40xx/patches-5.4/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch
index e56ab6d0f1..eaf7ae30bc 100644
--- a/target/linux/ipq40xx/patches-5.4/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch
+++ b/target/linux/ipq40xx/patches-5.4/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch
@@ -14,7 +14,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
 
 --- a/drivers/mmc/host/sdhci-msm.c
 +++ b/drivers/mmc/host/sdhci-msm.c
-@@ -1746,7 +1746,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
+@@ -1763,7 +1763,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
  
  static const struct sdhci_ops sdhci_msm_ops = {
  	.reset = sdhci_reset,
diff --git a/target/linux/layerscape/patches-5.4/302-dts-0008-arm64-dts-ls1046a-accumulated-change-to-ls1046a-boar.patch b/target/linux/layerscape/patches-5.4/302-dts-0008-arm64-dts-ls1046a-accumulated-change-to-ls1046a-boar.patch
index 8ef6d031ef..91e930768d 100644
--- a/target/linux/layerscape/patches-5.4/302-dts-0008-arm64-dts-ls1046a-accumulated-change-to-ls1046a-boar.patch
+++ b/target/linux/layerscape/patches-5.4/302-dts-0008-arm64-dts-ls1046a-accumulated-change-to-ls1046a-boar.patch
@@ -267,7 +267,7 @@ Date:   Fri May 5 17:53:27 2017 +0800
 +};
 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
-@@ -100,6 +100,7 @@
+@@ -95,6 +95,7 @@
  
  &qspi {
  	status = "okay";
diff --git a/target/linux/layerscape/patches-5.4/302-dts-0054-arm64-dts-nxp-frwy-ls1046a-add-support-for-micron-no.patch b/target/linux/layerscape/patches-5.4/302-dts-0054-arm64-dts-nxp-frwy-ls1046a-add-support-for-micron-no.patch
index bb30049505..7050dd3764 100644
--- a/target/linux/layerscape/patches-5.4/302-dts-0054-arm64-dts-nxp-frwy-ls1046a-add-support-for-micron-no.patch
+++ b/target/linux/layerscape/patches-5.4/302-dts-0054-arm64-dts-nxp-frwy-ls1046a-add-support-for-micron-no.patch
@@ -14,7 +14,7 @@ Signed-off-by: Pramod Kumar <pramod.kumar_1 at nxp.com>
 
 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-frwy.dts
 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-frwy.dts
-@@ -112,6 +112,23 @@
+@@ -106,6 +106,23 @@
  
  };
  
diff --git a/target/linux/layerscape/patches-5.4/302-dts-0059-arm64-dts-fsl-ls1046-Modify-the-qspi-flash-frequency.patch b/target/linux/layerscape/patches-5.4/302-dts-0059-arm64-dts-fsl-ls1046-Modify-the-qspi-flash-frequency.patch
index 71ead4b151..00aaaee297 100644
--- a/target/linux/layerscape/patches-5.4/302-dts-0059-arm64-dts-fsl-ls1046-Modify-the-qspi-flash-frequency.patch
+++ b/target/linux/layerscape/patches-5.4/302-dts-0059-arm64-dts-fsl-ls1046-Modify-the-qspi-flash-frequency.patch
@@ -35,7 +35,7 @@ Signed-off-by: Pankaj Bansal <pankaj.bansal at nxp.com>
   *
   * Mingkai Hu <mingkai.hu at nxp.com>
   */
-@@ -106,7 +107,7 @@
+@@ -101,7 +102,7 @@
  		compatible = "spansion,m25p80";
  		#address-cells = <1>;
  		#size-cells = <1>;
@@ -44,7 +44,7 @@ Signed-off-by: Pankaj Bansal <pankaj.bansal at nxp.com>
  		spi-rx-bus-width = <4>;
  		spi-tx-bus-width = <4>;
  		reg = <0>;
-@@ -116,7 +117,7 @@
+@@ -111,7 +112,7 @@
  		compatible = "spansion,m25p80";
  		#address-cells = <1>;
  		#size-cells = <1>;
diff --git a/target/linux/layerscape/patches-5.4/302-dts-0106-LF-18-2-arm64-dts-ls1046ardb-Update-qspi-node-dts-pr.patch b/target/linux/layerscape/patches-5.4/302-dts-0106-LF-18-2-arm64-dts-ls1046ardb-Update-qspi-node-dts-pr.patch
index ad2e4a76b9..66746b0ebc 100644
--- a/target/linux/layerscape/patches-5.4/302-dts-0106-LF-18-2-arm64-dts-ls1046ardb-Update-qspi-node-dts-pr.patch
+++ b/target/linux/layerscape/patches-5.4/302-dts-0106-LF-18-2-arm64-dts-ls1046ardb-Update-qspi-node-dts-pr.patch
@@ -16,7 +16,7 @@ Signed-off-by: Kuldeep Singh <kuldeep.singh at nxp.com>
 
 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
-@@ -105,25 +105,24 @@
+@@ -100,25 +100,24 @@
  
  &qspi {
  	status = "okay";
diff --git a/target/linux/layerscape/patches-5.4/701-net-0225-enetc-Configure-the-Time-Aware-Scheduler-via-tc-tapr.patch b/target/linux/layerscape/patches-5.4/701-net-0225-enetc-Configure-the-Time-Aware-Scheduler-via-tc-tapr.patch
index 596309f706..e516e1d5b6 100644
--- a/target/linux/layerscape/patches-5.4/701-net-0225-enetc-Configure-the-Time-Aware-Scheduler-via-tc-tapr.patch
+++ b/target/linux/layerscape/patches-5.4/701-net-0225-enetc-Configure-the-Time-Aware-Scheduler-via-tc-tapr.patch
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  fsl-enetc-mdio-y := enetc_pci_mdio.o enetc_mdio.o
 --- a/drivers/net/ethernet/freescale/enetc/enetc.c
 +++ b/drivers/net/ethernet/freescale/enetc/enetc.c
-@@ -1422,8 +1422,7 @@ int enetc_close(struct net_device *ndev)
+@@ -1419,8 +1419,7 @@ int enetc_close(struct net_device *ndev)
  	return 0;
  }
  
@@ -67,7 +67,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  {
  	struct enetc_ndev_priv *priv = netdev_priv(ndev);
  	struct tc_mqprio_qopt *mqprio = type_data;
-@@ -1431,9 +1430,6 @@ int enetc_setup_tc(struct net_device *nd
+@@ -1428,9 +1427,6 @@ int enetc_setup_tc(struct net_device *nd
  	u8 num_tc;
  	int i;
  
@@ -77,7 +77,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	mqprio->hw = TC_MQPRIO_HW_OFFLOAD_TCS;
  	num_tc = mqprio->num_tc;
  
-@@ -1478,6 +1474,19 @@ int enetc_setup_tc(struct net_device *nd
+@@ -1475,6 +1471,19 @@ int enetc_setup_tc(struct net_device *nd
  	return 0;
  }
  
diff --git a/target/linux/layerscape/patches-5.4/701-net-0226-enetc-update-TSN-Qbv-PSPEED-set-according-to-adjust-.patch b/target/linux/layerscape/patches-5.4/701-net-0226-enetc-update-TSN-Qbv-PSPEED-set-according-to-adjust-.patch
index e8224328f1..b2f229e002 100644
--- a/target/linux/layerscape/patches-5.4/701-net-0226-enetc-update-TSN-Qbv-PSPEED-set-according-to-adjust-.patch
+++ b/target/linux/layerscape/patches-5.4/701-net-0226-enetc-update-TSN-Qbv-PSPEED-set-according-to-adjust-.patch
@@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  }
  
  static int enetc_dma_alloc_bdr(struct enetc_bdr *r, size_t bd_size)
-@@ -1309,8 +1314,12 @@ static void enetc_disable_interrupts(str
+@@ -1306,8 +1311,12 @@ static void enetc_disable_interrupts(str
  
  static void adjust_link(struct net_device *ndev)
  {
diff --git a/target/linux/layerscape/patches-5.4/701-net-0336-enetc-add-support-Credit-Based-Shaper-CBS-for-hardwa.patch b/target/linux/layerscape/patches-5.4/701-net-0336-enetc-add-support-Credit-Based-Shaper-CBS-for-hardwa.patch
index 5acfeb9f97..8b59f994b2 100644
--- a/target/linux/layerscape/patches-5.4/701-net-0336-enetc-add-support-Credit-Based-Shaper-CBS-for-hardwa.patch
+++ b/target/linux/layerscape/patches-5.4/701-net-0336-enetc-add-support-Credit-Based-Shaper-CBS-for-hardwa.patch
@@ -47,7 +47,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 +	  taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu).
 --- a/drivers/net/ethernet/freescale/enetc/enetc.c
 +++ b/drivers/net/ethernet/freescale/enetc/enetc.c
-@@ -1519,6 +1519,8 @@ int enetc_setup_tc(struct net_device *nd
+@@ -1516,6 +1516,8 @@ int enetc_setup_tc(struct net_device *nd
  		return enetc_setup_tc_mqprio(ndev, type_data);
  	case TC_SETUP_QDISC_TAPRIO:
  		return enetc_setup_tc_taprio(ndev, type_data);
diff --git a/target/linux/layerscape/patches-5.4/701-net-0342-LF-376-enetc-disable-EEE-autoneg-by-default.patch b/target/linux/layerscape/patches-5.4/701-net-0342-LF-376-enetc-disable-EEE-autoneg-by-default.patch
index 8593363fb3..f968080ab8 100644
--- a/target/linux/layerscape/patches-5.4/701-net-0342-LF-376-enetc-disable-EEE-autoneg-by-default.patch
+++ b/target/linux/layerscape/patches-5.4/701-net-0342-LF-376-enetc-disable-EEE-autoneg-by-default.patch
@@ -17,7 +17,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
 
 --- a/drivers/net/ethernet/freescale/enetc/enetc.c
 +++ b/drivers/net/ethernet/freescale/enetc/enetc.c
-@@ -1364,6 +1364,7 @@ static int enetc_phy_connect(struct net_
+@@ -1361,6 +1361,7 @@ static int enetc_phy_connect(struct net_
  {
  	struct enetc_ndev_priv *priv = netdev_priv(ndev);
  	struct phy_device *phydev;
@@ -25,7 +25,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
  
  	if (!priv->phy_node)
  		return 0; /* phy-less mode */
-@@ -1377,6 +1378,10 @@ static int enetc_phy_connect(struct net_
+@@ -1374,6 +1375,10 @@ static int enetc_phy_connect(struct net_
  
  	phy_attached_info(phydev);
  
diff --git a/target/linux/layerscape/patches-5.4/701-net-0398-enetc-add-ioctl-support-for-PHY-related-ops.patch b/target/linux/layerscape/patches-5.4/701-net-0398-enetc-add-ioctl-support-for-PHY-related-ops.patch
index c9660e3d3c..6865f23169 100644
--- a/target/linux/layerscape/patches-5.4/701-net-0398-enetc-add-ioctl-support-for-PHY-related-ops.patch
+++ b/target/linux/layerscape/patches-5.4/701-net-0398-enetc-add-ioctl-support-for-PHY-related-ops.patch
@@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/drivers/net/ethernet/freescale/enetc/enetc.c
 +++ b/drivers/net/ethernet/freescale/enetc/enetc.c
-@@ -1656,7 +1656,10 @@ int enetc_ioctl(struct net_device *ndev,
+@@ -1653,7 +1653,10 @@ int enetc_ioctl(struct net_device *ndev,
  	if (cmd == SIOCGHWTSTAMP)
  		return enetc_hwtstamp_get(ndev, rq);
  #endif
diff --git a/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch b/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch
index 1175efa432..bb26cd3441 100644
--- a/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch
+++ b/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch
@@ -229,7 +229,7 @@ Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou at nxp.com>
  	 * fall back to INTx or other interrupts, e.g., a system shared
 --- a/include/linux/pci.h
 +++ b/include/linux/pci.h
-@@ -2021,6 +2021,7 @@ static inline void pcibios_penalize_isa_
+@@ -2022,6 +2022,7 @@ static inline void pcibios_penalize_isa_
  int pcibios_alloc_irq(struct pci_dev *dev);
  void pcibios_free_irq(struct pci_dev *dev);
  resource_size_t pcibios_default_alignment(void);
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0004-MLK-18137-fsl_lpuart-Fix-loopback-mode.patch b/target/linux/layerscape/patches-5.4/819-uart-0004-MLK-18137-fsl_lpuart-Fix-loopback-mode.patch
deleted file mode 100644
index 5ea3d50c37..0000000000
--- a/target/linux/layerscape/patches-5.4/819-uart-0004-MLK-18137-fsl_lpuart-Fix-loopback-mode.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 392865cdcca83fbc9624725e505feb31dda7e67a Mon Sep 17 00:00:00 2001
-From: Andy Duan <fugang.duan at nxp.com>
-Date: Mon, 28 Jan 2019 14:29:14 +0800
-Subject: [PATCH] MLK-18137: fsl_lpuart: Fix loopback mode
-
-Register offset needs to be applied on mapbase also.
-dma_tx/rx_request use the physical address of UARTDATA.
-Register offset is currently only applied to membase (the
-corresponding virtual addr) but not on mapbase.
-
-Reviewed-by: Leonard Crestez <leonard.crestez at nxp.com>
-Acked-by: Fugang Duan <fugang.duan at nxp.com>
-Signed-off-by: Adriana Reus <adriana.reus at nxp.com>
----
- drivers/tty/serial/fsl_lpuart.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/tty/serial/fsl_lpuart.c
-+++ b/drivers/tty/serial/fsl_lpuart.c
-@@ -2479,7 +2479,7 @@ static int lpuart_probe(struct platform_
- 		return PTR_ERR(sport->port.membase);
- 
- 	sport->port.membase += sdata->reg_off;
--	sport->port.mapbase = res->start;
-+	sport->port.mapbase = res->start + sdata->reg_off;
- 	sport->port.dev = &pdev->dev;
- 	sport->port.type = PORT_LPUART;
- 	sport->devtype = sdata->devtype;
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch b/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch
index 7457b6e009..fc4c853cb9 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch
@@ -54,7 +54,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
  	 * All 3.1 IP version constants are greater than the 3.0 IP
 --- a/drivers/usb/dwc3/gadget.c
 +++ b/drivers/usb/dwc3/gadget.c
-@@ -3656,6 +3656,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
+@@ -3655,6 +3655,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
  	dwc->gadget.sg_supported	= true;
  	dwc->gadget.name		= "dwc3-gadget";
  	dwc->gadget.lpm_capable		= true;
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch b/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch
index d43626577b..3c05330b1a 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0014-MLK-17380-3-usb-move-EH-SINGLE_STEP_SET_FEATURE-impl.patch
@@ -335,7 +335,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
  	int             is_setup
 --- a/include/linux/usb/hcd.h
 +++ b/include/linux/usb/hcd.h
-@@ -409,7 +409,10 @@ struct hc_driver {
+@@ -411,7 +411,10 @@ struct hc_driver {
  	int	(*find_raw_port_number)(struct usb_hcd *, int);
  	/* Call for power on/off the port if necessary */
  	int	(*port_power)(struct usb_hcd *hcd, int portnum, bool enable);
@@ -347,7 +347,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
  };
  
  static inline int hcd_giveback_urb_in_bh(struct usb_hcd *hcd)
-@@ -474,6 +477,14 @@ int usb_hcd_setup_local_mem(struct usb_h
+@@ -476,6 +479,14 @@ int usb_hcd_setup_local_mem(struct usb_h
  
  struct platform_device;
  extern void usb_hcd_platform_shutdown(struct platform_device *dev);
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch b/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch
index ffe429929b..fcad77c1eb 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0015-MLK-17380-4-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch
@@ -174,7 +174,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
   * bursts that are required to move all packets in this TD.  Only SuperSpeed
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -5384,6 +5384,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5385,6 +5385,7 @@ static const struct hc_driver xhci_hc_dr
  	.disable_usb3_lpm_timeout =	xhci_disable_usb3_lpm_timeout,
  	.find_raw_port_number =	xhci_find_raw_port_number,
  	.clear_tt_buffer_complete = xhci_clear_tt_buffer_complete,
@@ -184,7 +184,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
  void xhci_init_driver(struct hc_driver *drv,
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -2151,6 +2151,16 @@ int xhci_find_raw_port_number(struct usb
+@@ -2154,6 +2154,16 @@ int xhci_find_raw_port_number(struct usb
  struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd);
  
  void xhci_hc_died(struct xhci_hcd *xhci);
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch b/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch
index e866bef1df..617374a26b 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch
@@ -32,7 +32,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
  	ret = xhci_handshake(&xhci->op_regs->command,
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1874,6 +1874,7 @@ struct xhci_hcd {
+@@ -1877,6 +1877,7 @@ struct xhci_hcd {
  #define XHCI_DEFAULT_PM_RUNTIME_ALLOW	BIT_ULL(33)
  #define XHCI_RESET_PLL_ON_DISCONNECT	BIT_ULL(34)
  #define XHCI_SNPS_BROKEN_SUSPEND    BIT_ULL(35)
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch b/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch
index 2fc5ba3f06..060a809f5b 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch
@@ -24,7 +24,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
 
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -5405,6 +5405,8 @@ void xhci_init_driver(struct hc_driver *
+@@ -5406,6 +5406,8 @@ void xhci_init_driver(struct hc_driver *
  			drv->check_bandwidth = over->check_bandwidth;
  		if (over->reset_bandwidth)
  			drv->reset_bandwidth = over->reset_bandwidth;
@@ -35,7 +35,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
  EXPORT_SYMBOL_GPL(xhci_init_driver);
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1917,6 +1917,7 @@ struct xhci_driver_overrides {
+@@ -1920,6 +1920,7 @@ struct xhci_driver_overrides {
  	int (*start)(struct usb_hcd *hcd);
  	int (*check_bandwidth)(struct usb_hcd *, struct usb_device *);
  	void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
diff --git a/target/linux/layerscape/patches-5.4/821-vfio-0001-vfio-fsl-mc-Add-VFIO-framework-skeleton-for-fsl-mc-d.patch b/target/linux/layerscape/patches-5.4/821-vfio-0001-vfio-fsl-mc-Add-VFIO-framework-skeleton-for-fsl-mc-d.patch
index 5dc86f71ad..c752b963a8 100644
--- a/target/linux/layerscape/patches-5.4/821-vfio-0001-vfio-fsl-mc-Add-VFIO-framework-skeleton-for-fsl-mc-d.patch
+++ b/target/linux/layerscape/patches-5.4/821-vfio-0001-vfio-fsl-mc-Add-VFIO-framework-skeleton-for-fsl-mc-d.patch
@@ -28,7 +28,7 @@ Signed-off-by: Diana Craciun <diana.craciun at nxp.com>
 
 --- a/drivers/vfio/Kconfig
 +++ b/drivers/vfio/Kconfig
-@@ -47,4 +47,5 @@ menuconfig VFIO_NOIOMMU
+@@ -47,4 +47,5 @@ config VFIO_NOIOMMU
  source "drivers/vfio/pci/Kconfig"
  source "drivers/vfio/platform/Kconfig"
  source "drivers/vfio/mdev/Kconfig"
diff --git a/target/linux/mediatek/patches-5.4/0601-net-dsa-propagate-resolved-link-config-via-mac_link_.patch b/target/linux/mediatek/patches-5.4/0601-net-dsa-propagate-resolved-link-config-via-mac_link_.patch
index fe4f9855be..ee5a52ea3c 100644
--- a/target/linux/mediatek/patches-5.4/0601-net-dsa-propagate-resolved-link-config-via-mac_link_.patch
+++ b/target/linux/mediatek/patches-5.4/0601-net-dsa-propagate-resolved-link-config-via-mac_link_.patch
@@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	struct ethtool_eee *p = &priv->dev->ports[port].eee;
 --- a/drivers/net/dsa/lantiq_gswip.c
 +++ b/drivers/net/dsa/lantiq_gswip.c
-@@ -1663,7 +1663,9 @@ static void gswip_phylink_mac_link_down(
+@@ -1664,7 +1664,9 @@ static void gswip_phylink_mac_link_down(
  static void gswip_phylink_mac_link_up(struct dsa_switch *ds, int port,
  				      unsigned int mode,
  				      phy_interface_t interface,
@@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
 --- a/drivers/net/dsa/mt7530.c
 +++ b/drivers/net/dsa/mt7530.c
-@@ -1443,7 +1443,9 @@ static void mt7530_phylink_mac_link_down
+@@ -1440,7 +1440,9 @@ static void mt7530_phylink_mac_link_down
  static void mt7530_phylink_mac_link_up(struct dsa_switch *ds, int port,
  				       unsigned int mode,
  				       phy_interface_t interface,
diff --git a/target/linux/mediatek/patches-5.4/0602-net-dsa-mt7530-use-resolved-link-config-in-mac_link_.patch b/target/linux/mediatek/patches-5.4/0602-net-dsa-mt7530-use-resolved-link-config-in-mac_link_.patch
index 87235e6054..23fba85252 100644
--- a/target/linux/mediatek/patches-5.4/0602-net-dsa-mt7530-use-resolved-link-config-in-mac_link_.patch
+++ b/target/linux/mediatek/patches-5.4/0602-net-dsa-mt7530-use-resolved-link-config-in-mac_link_.patch
@@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	mutex_unlock(&priv->reg_mutex);
  }
-@@ -1398,8 +1387,7 @@ static void mt7530_phylink_mac_config(st
+@@ -1395,8 +1384,7 @@ static void mt7530_phylink_mac_config(st
  
  	mcr_cur = mt7530_read(priv, MT7530_PMCR_P(port));
  	mcr_new = mcr_cur;
@@ -61,7 +61,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	mcr_new |= PMCR_IFG_XMIT(1) | PMCR_MAC_MODE | PMCR_BACKOFF_EN |
  		   PMCR_BACKPR_EN | PMCR_FORCE_MODE;
  
-@@ -1407,26 +1395,6 @@ static void mt7530_phylink_mac_config(st
+@@ -1404,26 +1392,6 @@ static void mt7530_phylink_mac_config(st
  	if (port == 5 && dsa_is_user_port(ds, 5))
  		mcr_new |= PMCR_EXT_PHY;
  
@@ -88,7 +88,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	if (mcr_new != mcr_cur)
  		mt7530_write(priv, MT7530_PMCR_P(port), mcr_new);
  }
-@@ -1437,7 +1405,7 @@ static void mt7530_phylink_mac_link_down
+@@ -1434,7 +1402,7 @@ static void mt7530_phylink_mac_link_down
  {
  	struct mt7530_priv *priv = ds->priv;
  
@@ -97,7 +97,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  }
  
  static void mt7530_phylink_mac_link_up(struct dsa_switch *ds, int port,
-@@ -1448,8 +1416,31 @@ static void mt7530_phylink_mac_link_up(s
+@@ -1445,8 +1413,31 @@ static void mt7530_phylink_mac_link_up(s
  				       bool tx_pause, bool rx_pause)
  {
  	struct mt7530_priv *priv = ds->priv;
diff --git a/target/linux/mediatek/patches-5.4/0603-net-dsa-mt7530-Extend-device-data-ready-for-adding-a.patch b/target/linux/mediatek/patches-5.4/0603-net-dsa-mt7530-Extend-device-data-ready-for-adding-a.patch
index 291307791d..718ed8ea2d 100644
--- a/target/linux/mediatek/patches-5.4/0603-net-dsa-mt7530-Extend-device-data-ready-for-adding-a.patch
+++ b/target/linux/mediatek/patches-5.4/0603-net-dsa-mt7530-Extend-device-data-ready-for-adding-a.patch
@@ -47,7 +47,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  		return -EINVAL;
  	}
  
-@@ -1335,12 +1337,11 @@ mt7530_setup(struct dsa_switch *ds)
+@@ -1332,12 +1334,11 @@ mt7530_setup(struct dsa_switch *ds)
  	return 0;
  }
  
@@ -63,7 +63,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  
  	switch (port) {
  	case 0: /* Internal phy */
-@@ -1349,33 +1350,114 @@ static void mt7530_phylink_mac_config(st
+@@ -1346,33 +1347,114 @@ static void mt7530_phylink_mac_config(st
  	case 3:
  	case 4:
  		if (state->interface != PHY_INTERFACE_MODE_GMII)
@@ -189,7 +189,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  		return;
  	}
  
-@@ -1443,61 +1525,44 @@ static void mt7530_phylink_mac_link_up(s
+@@ -1440,61 +1522,44 @@ static void mt7530_phylink_mac_link_up(s
  	mt7530_set(priv, MT7530_PMCR_P(port), mcr);
  }
  
@@ -274,7 +274,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  	phylink_set(mask, Pause);
  	phylink_set(mask, Asym_Pause);
  
-@@ -1593,12 +1658,45 @@ static int mt7530_set_mac_eee(struct dsa
+@@ -1590,12 +1655,45 @@ static int mt7530_set_mac_eee(struct dsa
  	return 0;
  }
  
@@ -323,7 +323,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  	.get_ethtool_stats	= mt7530_get_ethtool_stats,
  	.get_sset_count		= mt7530_get_sset_count,
  	.port_enable		= mt7530_port_enable,
-@@ -1615,18 +1713,43 @@ static const struct dsa_switch_ops mt753
+@@ -1612,18 +1710,43 @@ static const struct dsa_switch_ops mt753
  	.port_vlan_del		= mt7530_port_vlan_del,
  	.port_mirror_add	= mt7530_port_mirror_add,
  	.port_mirror_del	= mt7530_port_mirror_del,
@@ -372,7 +372,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  	{ /* sentinel */ },
  };
  MODULE_DEVICE_TABLE(of, mt7530_of_match);
-@@ -1664,8 +1787,21 @@ mt7530_probe(struct mdio_device *mdiodev
+@@ -1661,8 +1784,21 @@ mt7530_probe(struct mdio_device *mdiodev
  	/* Get the hardware identifier from the devicetree node.
  	 * We will need it for some of the clock and regulator setup.
  	 */
diff --git a/target/linux/mediatek/patches-5.4/0604-net-dsa-mt7530-Add-the-support-of-MT7531-switch.patch b/target/linux/mediatek/patches-5.4/0604-net-dsa-mt7530-Add-the-support-of-MT7531-switch.patch
index 2d20bbc37c..8ede862204 100644
--- a/target/linux/mediatek/patches-5.4/0604-net-dsa-mt7530-Add-the-support-of-MT7531-switch.patch
+++ b/target/linux/mediatek/patches-5.4/0604-net-dsa-mt7530-Add-the-support-of-MT7531-switch.patch
@@ -394,7 +394,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  	 */
  	mt7530_write(priv, MT7530_PCR_P(port),
  		     PCR_MATRIX(dsa_user_ports(priv->ds)));
-@@ -1123,27 +1447,42 @@ mt7530_port_vlan_del(struct dsa_switch *
+@@ -1120,27 +1444,42 @@ mt7530_port_vlan_del(struct dsa_switch *
  	return 0;
  }
  
@@ -444,7 +444,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  
  	val = mt7530_read(priv, MT7530_PCR_P(port));
  	if (ingress) {
-@@ -1158,7 +1497,7 @@ static int mt7530_port_mirror_add(struct
+@@ -1155,7 +1494,7 @@ static int mt7530_port_mirror_add(struct
  	return 0;
  }
  
@@ -453,7 +453,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  				   struct dsa_mall_mirror_tc_entry *mirror)
  {
  	struct mt7530_priv *priv = ds->priv;
-@@ -1175,9 +1514,9 @@ static void mt7530_port_mirror_del(struc
+@@ -1172,9 +1511,9 @@ static void mt7530_port_mirror_del(struc
  	mt7530_write(priv, MT7530_PCR_P(port), val);
  
  	if (!priv->mirror_rx && !priv->mirror_tx) {
@@ -466,7 +466,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  	}
  }
  
-@@ -1283,7 +1622,7 @@ mt7530_setup(struct dsa_switch *ds)
+@@ -1280,7 +1619,7 @@ mt7530_setup(struct dsa_switch *ds)
  			   PCR_MATRIX_CLR);
  
  		if (dsa_is_cpu_port(ds, i))
@@ -475,7 +475,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  		else
  			mt7530_port_disable(ds, i);
  
-@@ -1337,6 +1676,118 @@ mt7530_setup(struct dsa_switch *ds)
+@@ -1334,6 +1673,118 @@ mt7530_setup(struct dsa_switch *ds)
  	return 0;
  }
  
@@ -594,7 +594,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  static bool
  mt7530_phy_mode_supported(struct dsa_switch *ds, int port,
  			  const struct phylink_link_state *state)
-@@ -1375,6 +1826,47 @@ unsupported:
+@@ -1372,6 +1823,47 @@ unsupported:
  	return false;
  }
  
@@ -642,7 +642,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  static bool
  mt753x_phy_mode_supported(struct dsa_switch *ds, int port,
  			  const struct phylink_link_state *state)
-@@ -1407,6 +1899,227 @@ mt7530_mac_config(struct dsa_switch *ds,
+@@ -1404,6 +1896,227 @@ mt7530_mac_config(struct dsa_switch *ds,
  	return 0;
  }
  
@@ -870,7 +870,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  static int
  mt753x_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
  		  const struct phylink_link_state *state)
-@@ -1442,6 +2155,8 @@ mt753x_phylink_mac_config(struct dsa_swi
+@@ -1439,6 +2152,8 @@ mt753x_phylink_mac_config(struct dsa_swi
  		if (mt753x_mac_config(ds, port, mode, state) < 0)
  			goto unsupported;
  
@@ -879,7 +879,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  		break;
  	case 6: /* 1st cpu port */
  		if (priv->p6_interface == state->interface)
-@@ -1461,7 +2176,8 @@ unsupported:
+@@ -1458,7 +2173,8 @@ unsupported:
  		return;
  	}
  
@@ -889,7 +889,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  		dev_err(ds->dev, "%s: in-band negotiation unsupported\n",
  			__func__);
  		return;
-@@ -1471,7 +2187,7 @@ unsupported:
+@@ -1468,7 +2184,7 @@ unsupported:
  	mcr_new = mcr_cur;
  	mcr_new &= ~PMCR_LINK_SETTINGS_MASK;
  	mcr_new |= PMCR_IFG_XMIT(1) | PMCR_MAC_MODE | PMCR_BACKOFF_EN |
@@ -898,7 +898,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  
  	/* Are we connected to external phy */
  	if (port == 5 && dsa_is_user_port(ds, 5))
-@@ -1481,7 +2197,18 @@ unsupported:
+@@ -1478,7 +2194,18 @@ unsupported:
  		mt7530_write(priv, MT7530_PMCR_P(port), mcr_new);
  }
  
@@ -918,7 +918,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  					 unsigned int mode,
  					 phy_interface_t interface)
  {
-@@ -1490,7 +2217,19 @@ static void mt7530_phylink_mac_link_down
+@@ -1487,7 +2214,19 @@ static void mt7530_phylink_mac_link_down
  	mt7530_clear(priv, MT7530_PMCR_P(port), PMCR_LINK_SETTINGS_MASK);
  }
  
@@ -939,7 +939,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  				       unsigned int mode,
  				       phy_interface_t interface,
  				       struct phy_device *phydev,
-@@ -1500,18 +2239,29 @@ static void mt7530_phylink_mac_link_up(s
+@@ -1497,18 +2236,29 @@ static void mt7530_phylink_mac_link_up(s
  	struct mt7530_priv *priv = ds->priv;
  	u32 mcr;
  
@@ -971,7 +971,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  		break;
  	}
  	if (duplex == DUPLEX_FULL) {
-@@ -1525,6 +2275,45 @@ static void mt7530_phylink_mac_link_up(s
+@@ -1522,6 +2272,45 @@ static void mt7530_phylink_mac_link_up(s
  	mt7530_set(priv, MT7530_PMCR_P(port), mcr);
  }
  
@@ -1017,7 +1017,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  static void
  mt7530_mac_port_validate(struct dsa_switch *ds, int port,
  			 unsigned long *supported)
-@@ -1533,6 +2322,14 @@ mt7530_mac_port_validate(struct dsa_swit
+@@ -1530,6 +2319,14 @@ mt7530_mac_port_validate(struct dsa_swit
  		phylink_set(supported, 1000baseX_Full);
  }
  
@@ -1032,7 +1032,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  static void
  mt753x_phylink_validate(struct dsa_switch *ds, int port,
  			unsigned long *supported,
-@@ -1549,7 +2346,8 @@ mt753x_phylink_validate(struct dsa_switc
+@@ -1546,7 +2343,8 @@ mt753x_phylink_validate(struct dsa_switc
  
  	phylink_set_port_modes(mask);
  
@@ -1042,7 +1042,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  		phylink_set(mask, 10baseT_Half);
  		phylink_set(mask, 10baseT_Full);
  		phylink_set(mask, 100baseT_Half);
-@@ -1568,6 +2366,11 @@ mt753x_phylink_validate(struct dsa_switc
+@@ -1565,6 +2363,11 @@ mt753x_phylink_validate(struct dsa_switc
  
  	linkmode_and(supported, supported, mask);
  	linkmode_and(state->advertising, state->advertising, mask);
@@ -1054,7 +1054,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  }
  
  static int
-@@ -1658,6 +2461,63 @@ static int mt7530_set_mac_eee(struct dsa
+@@ -1655,6 +2458,63 @@ static int mt7530_set_mac_eee(struct dsa
  	return 0;
  }
  
@@ -1118,7 +1118,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  static int
  mt753x_phylink_mac_link_state(struct dsa_switch *ds, int port,
  			      struct phylink_link_state *state)
-@@ -1711,13 +2571,14 @@ static const struct dsa_switch_ops mt753
+@@ -1708,13 +2568,14 @@ static const struct dsa_switch_ops mt753
  	.port_vlan_prepare	= mt7530_port_vlan_prepare,
  	.port_vlan_add		= mt7530_port_vlan_add,
  	.port_vlan_del		= mt7530_port_vlan_del,
@@ -1137,7 +1137,7 @@ Signed-off-by: Sean Wang <sean.wang at mediatek.com>
  	.get_mac_eee		= mt7530_get_mac_eee,
  	.set_mac_eee		= mt7530_set_mac_eee,
  };
-@@ -1745,11 +2606,26 @@ static const struct mt753x_info mt753x_t
+@@ -1742,11 +2603,26 @@ static const struct mt753x_info mt753x_t
  		.mac_port_get_state = mt7530_phylink_mac_link_state,
  		.mac_port_config = mt7530_mac_config,
  	},
diff --git a/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch
index 872b2bad45..2b3a4ae12f 100644
--- a/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch
+++ b/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch
@@ -10,7 +10,7 @@
  #define UART_BUG_TXEN	(1 << 1)	/* UART has buggy TX IIR status */
 --- a/drivers/tty/serial/8250/8250_port.c
 +++ b/drivers/tty/serial/8250/8250_port.c
-@@ -290,7 +290,7 @@ static const struct serial8250_config ua
+@@ -291,7 +291,7 @@ static const struct serial8250_config ua
  		.tx_loadsz	= 16,
  		.fcr		= UART_FCR_ENABLE_FIFO |
  				  UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT,
@@ -19,7 +19,7 @@
  	},
  	[PORT_NPCM] = {
  		.name		= "Nuvoton 16550",
-@@ -2597,6 +2597,11 @@ serial8250_do_set_termios(struct uart_po
+@@ -2598,6 +2598,11 @@ serial8250_do_set_termios(struct uart_po
  	unsigned long flags;
  	unsigned int baud, quot, frac = 0;
  
diff --git a/target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch b/target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch
index 31f5accab6..ca10ecf6b2 100644
--- a/target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch
+++ b/target/linux/mvebu/patches-5.4/001-PCI-aardvark-Wait-for-endpoint-to-be-ready-before-tr.patch
@@ -33,7 +33,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -349,6 +349,14 @@ static void advk_pcie_setup_hw(struct ad
+@@ -353,6 +353,14 @@ static void advk_pcie_setup_hw(struct ad
  	reg |= PIO_CTRL_ADDR_WIN_DISABLE;
  	advk_writel(pcie, reg, PIO_CTRL);
  
diff --git a/target/linux/mvebu/patches-5.4/016-PCI-aardvark-Train-link-immediately-after-enabling-t.patch b/target/linux/mvebu/patches-5.4/016-PCI-aardvark-Train-link-immediately-after-enabling-t.patch
index 3ff0dcb166..d1bfd70d30 100644
--- a/target/linux/mvebu/patches-5.4/016-PCI-aardvark-Train-link-immediately-after-enabling-t.patch
+++ b/target/linux/mvebu/patches-5.4/016-PCI-aardvark-Train-link-immediately-after-enabling-t.patch
@@ -29,7 +29,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -311,11 +311,6 @@ static void advk_pcie_setup_hw(struct ad
+@@ -315,11 +315,6 @@ static void advk_pcie_setup_hw(struct ad
  	reg |= LANE_COUNT_1;
  	advk_writel(pcie, reg, PCIE_CORE_CTRL0_REG);
  
@@ -41,7 +41,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
  	/* Enable MSI */
  	reg = advk_readl(pcie, PCIE_CORE_CTRL2_REG);
  	reg |= PCIE_CORE_CTRL2_MSI_ENABLE;
-@@ -357,7 +352,15 @@ static void advk_pcie_setup_hw(struct ad
+@@ -361,7 +356,15 @@ static void advk_pcie_setup_hw(struct ad
  	 */
  	msleep(PCI_PM_D3COLD_WAIT);
  
diff --git a/target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch b/target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch
index e3a38740c3..85ae9cabe2 100644
--- a/target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch
+++ b/target/linux/mvebu/patches-5.4/017-PCI-aardvark-Improve-link-training.patch
@@ -42,7 +42,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
  #define     PCIE_CORE_LINK_WIDTH_SHIFT				20
  #define PCIE_CORE_ERR_CAPCTL_REG				0x118
  #define     PCIE_CORE_ERR_CAPCTL_ECRC_CHK_TX			BIT(5)
-@@ -202,6 +203,7 @@ struct advk_pcie {
+@@ -206,6 +207,7 @@ struct advk_pcie {
  	struct mutex msi_used_lock;
  	u16 msi_msg;
  	int root_bus_nr;
@@ -50,7 +50,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
  	struct pci_bridge_emul bridge;
  };
  
-@@ -226,20 +228,16 @@ static int advk_pcie_link_up(struct advk
+@@ -230,20 +232,16 @@ static int advk_pcie_link_up(struct advk
  
  static int advk_pcie_wait_for_link(struct advk_pcie *pcie)
  {
@@ -72,7 +72,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
  	return -ETIMEDOUT;
  }
  
-@@ -254,6 +252,85 @@ static void advk_pcie_wait_for_retrain(s
+@@ -258,6 +256,85 @@ static void advk_pcie_wait_for_retrain(s
  	}
  }
  
@@ -158,7 +158,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
  static void advk_pcie_setup_hw(struct advk_pcie *pcie)
  {
  	u32 reg;
-@@ -299,12 +376,6 @@ static void advk_pcie_setup_hw(struct ad
+@@ -303,12 +380,6 @@ static void advk_pcie_setup_hw(struct ad
  		PCIE_CORE_CTRL2_TD_ENABLE;
  	advk_writel(pcie, reg, PCIE_CORE_CTRL2_REG);
  
@@ -171,7 +171,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
  	/* Set lane X1 */
  	reg = advk_readl(pcie, PCIE_CORE_CTRL0_REG);
  	reg &= ~LANE_CNT_MSK;
-@@ -352,20 +423,7 @@ static void advk_pcie_setup_hw(struct ad
+@@ -356,20 +427,7 @@ static void advk_pcie_setup_hw(struct ad
  	 */
  	msleep(PCI_PM_D3COLD_WAIT);
  
@@ -193,7 +193,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
  
  	reg = advk_readl(pcie, PCIE_CORE_CMD_STATUS_REG);
  	reg |= PCIE_CORE_CMD_MEM_ACCESS_EN |
-@@ -1077,6 +1135,12 @@ static int advk_pcie_probe(struct platfo
+@@ -1193,6 +1251,12 @@ static int advk_pcie_probe(struct platfo
  		return ret;
  	}
  
diff --git a/target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch b/target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch
index fde01fa987..7db1c3efa5 100644
--- a/target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch
+++ b/target/linux/mvebu/patches-5.4/018-PCI-aardvark-Issue-PERST-via-GPIO.patch
@@ -48,7 +48,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
  #include <linux/of_pci.h>
  
  #include "../pci.h"
-@@ -205,6 +207,7 @@ struct advk_pcie {
+@@ -209,6 +211,7 @@ struct advk_pcie {
  	int root_bus_nr;
  	int link_gen;
  	struct pci_bridge_emul bridge;
@@ -56,7 +56,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
  };
  
  static inline void advk_writel(struct advk_pcie *pcie, u32 val, u64 reg)
-@@ -331,10 +334,31 @@ err:
+@@ -335,10 +338,31 @@ err:
  	dev_err(dev, "link never came up\n");
  }
  
@@ -88,7 +88,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
  	/* Set to Direct mode */
  	reg = advk_readl(pcie, CTRL_CONFIG_REG);
  	reg &= ~(CTRL_MODE_MASK << CTRL_MODE_SHIFT);
-@@ -417,7 +441,8 @@ static void advk_pcie_setup_hw(struct ad
+@@ -421,7 +445,8 @@ static void advk_pcie_setup_hw(struct ad
  
  	/*
  	 * PERST# signal could have been asserted by pinctrl subsystem before
@@ -98,7 +98,7 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
  	 * fundamental reset. As required by PCI Express spec a delay for at
  	 * least 100ms after such a reset before link training is needed.
  	 */
-@@ -1135,6 +1160,22 @@ static int advk_pcie_probe(struct platfo
+@@ -1251,6 +1276,22 @@ static int advk_pcie_probe(struct platfo
  		return ret;
  	}
  
diff --git a/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch b/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch
index edff5c4a9c..0c8357d717 100644
--- a/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch
+++ b/target/linux/mvebu/patches-5.4/019-PCI-aardvark-Add-PHY-support.patch
@@ -47,7 +47,7 @@ Cc: Miquèl Raynal <miquel.raynal at bootlin.com>
  #include <linux/platform_device.h>
  #include <linux/of_address.h>
  #include <linux/of_gpio.h>
-@@ -103,6 +104,8 @@
+@@ -104,6 +105,8 @@
  #define     PCIE_CORE_CTRL2_STRICT_ORDER_ENABLE	BIT(5)
  #define     PCIE_CORE_CTRL2_OB_WIN_ENABLE	BIT(6)
  #define     PCIE_CORE_CTRL2_MSI_ENABLE		BIT(10)
@@ -56,7 +56,7 @@ Cc: Miquèl Raynal <miquel.raynal at bootlin.com>
  #define PCIE_MSG_LOG_REG			(CONTROL_BASE_ADDR + 0x30)
  #define PCIE_ISR0_REG				(CONTROL_BASE_ADDR + 0x40)
  #define PCIE_MSG_PM_PME_MASK			BIT(7)
-@@ -208,6 +211,7 @@ struct advk_pcie {
+@@ -212,6 +215,7 @@ struct advk_pcie {
  	int link_gen;
  	struct pci_bridge_emul bridge;
  	struct gpio_desc *reset_gpio;
@@ -64,7 +64,7 @@ Cc: Miquèl Raynal <miquel.raynal at bootlin.com>
  };
  
  static inline void advk_writel(struct advk_pcie *pcie, u32 val, u64 reg)
-@@ -359,6 +363,11 @@ static void advk_pcie_setup_hw(struct ad
+@@ -363,6 +367,11 @@ static void advk_pcie_setup_hw(struct ad
  
  	advk_pcie_issue_perst(pcie);
  
@@ -76,7 +76,7 @@ Cc: Miquèl Raynal <miquel.raynal at bootlin.com>
  	/* Set to Direct mode */
  	reg = advk_readl(pcie, CTRL_CONFIG_REG);
  	reg &= ~(CTRL_MODE_MASK << CTRL_MODE_SHIFT);
-@@ -1125,6 +1134,62 @@ out_release_res:
+@@ -1241,6 +1250,62 @@ out_release_res:
  	return err;
  }
  
@@ -139,7 +139,7 @@ Cc: Miquèl Raynal <miquel.raynal at bootlin.com>
  static int advk_pcie_probe(struct platform_device *pdev)
  {
  	struct device *dev = &pdev->dev;
-@@ -1182,6 +1247,10 @@ static int advk_pcie_probe(struct platfo
+@@ -1298,6 +1363,10 @@ static int advk_pcie_probe(struct platfo
  	else
  		pcie->link_gen = ret;
  
diff --git a/target/linux/mvebu/patches-5.4/021-arm64-dts-marvell-armada-37xx-Move-PCIe-comphy-handl.patch b/target/linux/mvebu/patches-5.4/021-arm64-dts-marvell-armada-37xx-Move-PCIe-comphy-handl.patch
index b851a39a39..9c71225ffe 100644
--- a/target/linux/mvebu/patches-5.4/021-arm64-dts-marvell-armada-37xx-Move-PCIe-comphy-handl.patch
+++ b/target/linux/mvebu/patches-5.4/021-arm64-dts-marvell-armada-37xx-Move-PCIe-comphy-handl.patch
@@ -42,12 +42,12 @@ Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com>
  	max-link-speed = <2>;
  	reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
 -	phys = <&comphy1 0>;
- 
- 	/* enabled by U-Boot if PCIe module is present */
- 	status = "disabled";
+ 	/*
+ 	 * U-Boot port for Turris Mox has a bug which always expects that "ranges" DT property
+ 	 * contains exactly 2 ranges with 3 (child) address cells, 2 (parent) address cells and
 --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
 +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
-@@ -494,6 +494,7 @@
+@@ -501,6 +501,7 @@
  					<0 0 0 2 &pcie_intc 1>,
  					<0 0 0 3 &pcie_intc 2>,
  					<0 0 0 4 &pcie_intc 3>;
diff --git a/target/linux/mvebu/patches-5.4/022-arm64-dts-marvell-armada-37xx-Move-PCIe-max-link-spe.patch b/target/linux/mvebu/patches-5.4/022-arm64-dts-marvell-armada-37xx-Move-PCIe-max-link-spe.patch
index 4442a5ac15..47176e4893 100644
--- a/target/linux/mvebu/patches-5.4/022-arm64-dts-marvell-armada-37xx-Move-PCIe-max-link-spe.patch
+++ b/target/linux/mvebu/patches-5.4/022-arm64-dts-marvell-armada-37xx-Move-PCIe-max-link-spe.patch
@@ -30,11 +30,11 @@ Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com>
  	status = "okay";
 -	max-link-speed = <2>;
  	reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
- 
- 	/* enabled by U-Boot if PCIe module is present */
+ 	/*
+ 	 * U-Boot port for Turris Mox has a bug which always expects that "ranges" DT property
 --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
 +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
-@@ -494,6 +494,7 @@
+@@ -501,6 +501,7 @@
  					<0 0 0 2 &pcie_intc 1>,
  					<0 0 0 3 &pcie_intc 2>,
  					<0 0 0 4 &pcie_intc 3>;
diff --git a/target/linux/mvebu/patches-5.4/024-PCI-aardvark-Don-t-touch-PCIe-registers-if-no-card-c.patch b/target/linux/mvebu/patches-5.4/024-PCI-aardvark-Don-t-touch-PCIe-registers-if-no-card-c.patch
index 04803c90d8..f38b6b56bb 100644
--- a/target/linux/mvebu/patches-5.4/024-PCI-aardvark-Don-t-touch-PCIe-registers-if-no-card-c.patch
+++ b/target/linux/mvebu/patches-5.4/024-PCI-aardvark-Don-t-touch-PCIe-registers-if-no-card-c.patch
@@ -34,7 +34,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -650,6 +650,13 @@ static bool advk_pcie_valid_device(struc
+@@ -725,6 +725,13 @@ static bool advk_pcie_valid_device(struc
  	if ((bus->number == pcie->root_bus_nr) && PCI_SLOT(devfn) != 0)
  		return false;
  
diff --git a/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch b/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch
index ff67c9c02f..117f9b3576 100644
--- a/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch
+++ b/target/linux/mvebu/patches-5.4/026-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch
@@ -31,7 +31,7 @@ Cc: <stable at vger.kernel.org> # 5.8+: ea17a0f153af: phy: marvell: comphy: Convert
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -1165,7 +1165,9 @@ static int advk_pcie_enable_phy(struct a
+@@ -1281,7 +1281,9 @@ static int advk_pcie_enable_phy(struct a
  	}
  
  	ret = phy_power_on(pcie->phy);
diff --git a/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch b/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch
index 8a37d7dfa7..18b5f49073 100644
--- a/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch
+++ b/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch
@@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey <tharvey at gateworks.com>
  #include <linux/platform_data/x86/apple.h>
  #include <linux/pm_runtime.h>
  #include <linux/suspend.h>
-@@ -5728,3 +5729,34 @@ static void apex_pci_fixup_class(struct
+@@ -5783,3 +5784,34 @@ static void apex_pci_fixup_class(struct
  }
  DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a,
  			       PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class);
diff --git a/target/linux/oxnas/patches-5.4/999-libata-hacks.patch b/target/linux/oxnas/patches-5.4/999-libata-hacks.patch
index 5d93ce39f7..d91f2d6724 100644
--- a/target/linux/oxnas/patches-5.4/999-libata-hacks.patch
+++ b/target/linux/oxnas/patches-5.4/999-libata-hacks.patch
@@ -15,7 +15,7 @@
  	/* initialize internal qc */
  	qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL);
  
-@@ -5124,6 +5132,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -5128,6 +5136,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
  	if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
  		return NULL;
  
@@ -25,7 +25,7 @@
  	/* libsas case */
  	if (ap->flags & ATA_FLAG_SAS_HOST) {
  		tag = ata_sas_allocate_tag(ap);
-@@ -5169,6 +5180,8 @@ void ata_qc_free(struct ata_queued_cmd *
+@@ -5173,6 +5184,8 @@ void ata_qc_free(struct ata_queued_cmd *
  		qc->tag = ATA_TAG_POISON;
  		if (ap->flags & ATA_FLAG_SAS_HOST)
  			ata_sas_free_tag(tag, ap);
diff --git a/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch b/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch
index 742b6d6ad5..d6f11ac935 100644
--- a/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch
+++ b/target/linux/x86/patches-5.4/200-pcengines-apu2-reboot.patch
@@ -1,6 +1,6 @@
 --- a/arch/x86/kernel/reboot.c
 +++ b/arch/x86/kernel/reboot.c
-@@ -486,6 +486,16 @@ static const struct dmi_system_id reboot
+@@ -487,6 +487,16 @@ static const struct dmi_system_id reboot
  		},
  	},
  



More information about the lede-commits mailing list