[openwrt/openwrt] kernel: bump 5.4 to 5.4.73

LEDE Commits lede-commits at lists.infradead.org
Sun Nov 1 08:44:26 EST 2020


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/b4c02c999894d9af49ba124c1be0079ffb5141f0

commit b4c02c999894d9af49ba124c1be0079ffb5141f0
Author: John Audia <graysky at archlinux.us>
AuthorDate: Sat Oct 31 07:35:12 2020 -0400

    kernel: bump 5.4 to 5.4.73
    
    Removed upstreamed patches:
     generic/pending-5.4
       445-mtd-spinand-gigadevice-Only-one-dummy-byte-in-QUA.patch
       446-mtd-spinand-gigadevice-Add-QE-Bit.patch
     pistachio/patches-5.4
       150-pwm-img-Fix-null-pointer-access-in-probe.patch
    
    Manually rebased:
     layerscape/patches-5.4
       801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch
       801-audio-0039-MLK-16224-6-ASoC-fsl_sai-fix-DSD-suspend-resume.patch
       801-audio-0073-MLK-21957-3-ASoC-fsl_sai-add-bitcount-and-timestamp-.patch
       820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch
    
    All modifications made by update_kernel.sh
    
    Build system: x86_64
    Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711,
                  mvebu (mamba, rango), x86_64, ramips/mt7621
    Run-tested: ipq806x/R7800, mvebu (mamba, rango), x86_64, ramips (RT-AC57U)
    
    No dmesg regressions, everything functional
    
    Signed-off-by: John Audia <graysky at archlinux.us>
    [alter 820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh]
    Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 include/kernel-version.mk                          |  4 +-
 .../0061-tty-serial-ar933x-uart-rs485-gpio.patch   |  2 +-
 ...e-clocks-early-during-the-boot-process-so.patch |  4 +-
 ...2835-Mark-used-PLLs-and-dividers-CRITICAL.patch |  2 +-
 ...021-clk-bcm2835-Add-claim-clocks-property.patch | 10 ++--
 ...bcm2835-Read-max-core-clock-from-firmware.patch |  4 +-
 ...-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch |  2 +-
 .../950-0040-fbdev-add-FBIOCOPYAREA-ioctl.patch    |  8 +--
 ...media-tc358743-Increase-FIFO-level-to-374.patch |  2 +-
 ...743-fix-connected-active-CSI-2-lane-repor.patch |  4 +-
 ...58743-Add-support-for-972Mbit-s-link-freq.patch |  4 +-
 ...tc358743-Check-I2C-succeeded-during-probe.patch |  4 +-
 ...743-Return-an-appropriate-colorspace-from.patch |  6 +-
 ...k-clk-bcm2835-Use-zd-when-printing-size_t.patch |  2 +-
 ...-Add-support-for-setting-leaf-clock-rates.patch |  2 +-
 ...-Allow-reparenting-leaf-clocks-while-they.patch |  2 +-
 ...ent-xhci_fixup_endpoint-for-interval-adju.patch |  2 +-
 ...-clk-bcm2835-Avoid-null-pointer-exception.patch |  2 +-
 ...-device-quirks-for-Freeway-Airmouse-T3-an.patch |  2 +-
 .../950-0351-clk-bcm2835-Disable-v3d-clock.patch   |  4 +-
 ...nitialise-rpi-firmware-before-clk-bcm2835.patch |  2 +-
 ...f-Add-inbound-resource-parsing-to-helpers.patch |  6 +-
 ...edia-i2c-tc358743-Fix-fallthrough-warning.patch |  2 +-
 ...-net-dsa-rtl8366-Pass-GENMASK-signed-bits.patch |  2 +-
 .../linux/generic/hack-5.4/204-module_strip.patch  |  4 +-
 .../generic/hack-5.4/901-debloat_sock_diag.patch   |  2 +-
 .../linux/generic/hack-5.4/902-debloat_proc.patch  |  2 +-
 .../generic/hack-5.4/904-debloat_dma_buf.patch     |  2 +-
 ...and-gigadevice-Only-one-dummy-byte-in-QUA.patch | 39 -------------
 .../446-mtd-spinand-gigadevice-Add-QE-Bit.patch    | 67 ----------------------
 .../613-netfilter_optional_tcp_window_check.patch  |  2 +-
 ...Support-adjusting-OPP-voltages-at-runtime.patch |  2 +-
 ...te-the-voltage-tolerance-when-adjusting-t.patch |  4 +-
 ...ke-sure-PCIe-is-reset-before-init-for-rev.patch |  9 +--
 .../0001-MIPS-lantiq-add-pcie-driver.patch         |  2 +-
 ...dts-lx2160a-add-more-thermal-zone-support.patch |  5 --
 ...-ls1046a-fix-ippdexpcr-offset-not-correct.patch |  7 +--
 ...s1043a-update-USB-nodes-status-to-match-b.patch | 11 +---
 ...ts-ls1043a-remove-thermal-zone-5-from-dts.patch |  7 +--
 ...rt-ASoC-fsl_sai-Fix-noise-when-using-EDMA.patch |  2 +-
 ...ert-ASoC-fsl_sai-Implement-set_bclk_ratio.patch |  2 +-
 ...evert-ASoC-fsl_sai-Add-support-for-imx8qm.patch |  2 +-
 ...oC-fsl_sai-Add-support-for-imx7ulp-imx8mq.patch |  2 +-
 ...C-fsl_sai-Add-support-for-SAI-new-version.patch |  6 +-
 ...-fsl_sai-Add-registers-definition-for-mul.patch |  2 +-
 ...-Remove-dev_err-usage-after-platform_get_.patch |  2 +-
 ...-fsl_sai-derive-TX-FIFO-watermark-from-FI.patch |  2 +-
 ...011-Revert-ASoC-fsl_sai-add-of_match-data.patch |  6 +-
 ...-ASoC-fsl_sai-refine-driver-for-ip-upgrad.patch | 12 ++--
 ...-1-ASoC-fsl_sai-support-latest-sai-module.patch |  4 +-
 ...-ASoC-fsl_sai-refine-the-pm-runtime-funct.patch |  6 +-
 ...-MLK-16929-1-ASoC-fsl_sai-add-bitclk_freq.patch |  2 +-
 ...4-ASoC-fsl_sai-support-multi-fifo-and-DSD.patch |  4 +-
 ...224-6-ASoC-fsl_sai-fix-DSD-suspend-resume.patch |  2 +-
 ...048-MLK-17580-ASoC-fsl-sai-Use-DSD-helper.patch |  4 +-
 ...580-ASoC-fsl-sai-check-for-pinctrl-status.patch |  2 +-
 ...-1-ASoC-fsl-sai-add-support-for-SAI-v3.01.patch |  2 +-
 ...-ASoC-fsl-sai-use-set_bclk_ratio-to-calcu.patch |  2 +-
 ...i-fix-build-failture-due-to-5.1-RC7-upgra.patch |  2 +-
 ...4-ASoC-fsl_sai-Mark-cache-dirty-at-resume.patch |  2 +-
 ...F-106-ASoC-fsl_sai-request-BUS_FREQ_AUDIO.patch |  4 +-
 ...-ASoC-fsl_sai-read-SAI-version-and-params.patch |  2 +-
 ...-ASoC-fsl_sai-add-bitcount-and-timestamp-.patch |  2 +-
 ...i-fix-build-issue-of-incomplete-parenthes.patch |  2 +-
 ...-use-devm_platform_ioremap_resource-to-si.patch |  4 +-
 ...-rename-macro-FLEXCAN_IFLAG_MB-FLEXCAN_IF.patch |  2 +-
 ...-rename-struct-flexcan_priv-reg_imask-1-2.patch |  4 +-
 ...-remove-TX-mailbox-bit-from-struct-flexca.patch |  4 +-
 ...-convert-struct-flexcan_priv-rx_mask-1-2-.patch |  2 +-
 ...-introduce-struct-flexcan_priv-tx_mask-an.patch |  2 +-
 ...-0019-can-flexcan-add-CAN-FD-mode-support.patch |  6 +-
 ...an-flexcan-add-ISO-CAN-FD-feature-support.patch |  2 +-
 ...2-can-0023-can-flexcan-add-imx8qm-support.patch |  2 +-
 ...an-0024-can-flexcan-add-lx2160ar1-support.patch |  2 +-
 ...-flexcan-add-LPSR-mode-support-for-i.MX7D.patch |  6 +-
 ...flexcan-add-CAN-wakeup-function-for-i.MX8.patch |  6 +-
 ...can-Add-S32V234-support-to-FlexCAN-driver.patch |  2 +-
 ...9769-8-crypto-caam-add-a-test-for-the-RNG.patch |  2 +-
 ...-38-3-crypto-caam-add-SNVS-SECVIO-support.patch |  2 +-
 ...5-3-crypto-caam-add-Secure-Memory-support.patch |  2 +-
 ...19801-1-crypto-caam-add-tag-functionality.patch |  2 +-
 ...to-caam-qi-add-support-for-TLS-1.0-record.patch | 14 ++---
 ...crypto-caam-add-CAAM-job-ring-UIO-support.patch |  2 +-
 ...crypto-caam-fix-Secure-Memory-driver-init.patch |  2 +-
 ...0034-LF-63-1-crypto-caam-fix-SM-test-init.patch |  2 +-
 ...port-aer-pme-interrupts-with-none-MSI-MSI.patch |  2 +-
 ...ermal-qoriq-Update-the-settings-for-TMUv2.patch | 11 +---
 ...ty-serial-lpuart-add-power-domain-support.patch |  4 +-
 ...-serial-fsl_lpuart-add-modem-device-reset.patch |  2 +-
 ...serial-fsl_lpuart-add-magic-SysRq-support.patch |  2 +-
 ...04-MLK-18137-fsl_lpuart-Fix-loopback-mode.patch |  2 +-
 ...al-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch | 38 ++++++------
 ...ty-serial-fsl_lpuart-enable-loopback-mode.patch |  2 +-
 ...erial-fsl_lpuart-do-HW-reset-for-communic.patch |  4 +-
 ...2-tty-serial-lpuart-add-runtime-pm-suppor.patch | 22 +++----
 ...al-lpuart-enable-wakeup-source-for-lpuart.patch | 10 ++--
 ...11-serial-fsl_lpuart-enable-two-stop-bits.patch |  6 +-
 ...serial-lpuart-support-UPIO_MEM32-for-lpua.patch |  2 +-
 ...e-suspend-clock-from-dt-to-set-power-down.patch |  6 +-
 ...b-0005-usb-dwc3-add-otg-properties-update.patch |  6 +-
 ...d-add-usb-role-switch-class-support-for-d.patch |  2 +-
 ...d-workaround-for-host-mode-VBUS-glitch-wh.patch | 19 +++---
 ...MLK-22675-usb-dwc3-host-disable-park-mode.patch |  4 +-
 ...dwc3-Add-cache-type-configuration-support.patch |  8 +--
 ...-usb-host-xhci-add-EH-SINGLE_STEP_SET_FEA.patch |  2 +-
 ...1-usb-host-xhci-add-.bus_suspend-override.patch |  2 +-
 ...vert-usb-dwc3-Add-cache-type-configuratio.patch |  8 +--
 ...b-dwc3-Add-cache-type-configuration-suppo.patch |  8 +--
 ...-propagate-resolved-link-config-via-mac_l.patch |  2 +-
 .../405-PCI-aardvark-Improve-link-training.patch   |  4 +-
 .../406-PCI-aardvark-Issue-PERST-via-GPIO.patch    |  2 +-
 .../407-PCI-aardvark-Add-PHY-support.patch         |  6 +-
 ...k-Don-t-touch-PCIe-registers-if-no-card-c.patch |  2 +-
 ...k-Fix-initialization-with-old-Marvell-s-A.patch |  2 +-
 ...-pwm-img-Fix-null-pointer-access-in-probe.patch | 42 --------------
 115 files changed, 226 insertions(+), 407 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 5e96474230..e33ec34ab7 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 = .72
+LINUX_VERSION-5.4 = .73
 
-LINUX_KERNEL_HASH-5.4.72 = 0e24645bd56fe5b55a7a662895f5562c103d71b54d097281f0c9c71ff22c1172
+LINUX_KERNEL_HASH-5.4.73 = 5a424b403b726bbe7dfa1d1524e431676c4a64f22a8db524534ed678bfe576b2
 
 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/ath79/patches-5.4/0061-tty-serial-ar933x-uart-rs485-gpio.patch b/target/linux/ath79/patches-5.4/0061-tty-serial-ar933x-uart-rs485-gpio.patch
index e27c0854f5..fda91bfe7e 100644
--- a/target/linux/ath79/patches-5.4/0061-tty-serial-ar933x-uart-rs485-gpio.patch
+++ b/target/linux/ath79/patches-5.4/0061-tty-serial-ar933x-uart-rs485-gpio.patch
@@ -34,7 +34,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards
 
 --- a/drivers/tty/serial/Kconfig
 +++ b/drivers/tty/serial/Kconfig
-@@ -1279,6 +1279,7 @@ config SERIAL_AR933X
+@@ -1280,6 +1280,7 @@ config SERIAL_AR933X
  	tristate "AR933X serial port support"
  	depends on HAVE_CLK && ATH79
  	select SERIAL_CORE
diff --git a/target/linux/bcm27xx/patches-5.4/950-0018-Register-the-clocks-early-during-the-boot-process-so.patch b/target/linux/bcm27xx/patches-5.4/950-0018-Register-the-clocks-early-during-the-boot-process-so.patch
index 322be7bc5c..64b984802c 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0018-Register-the-clocks-early-during-the-boot-process-so.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0018-Register-the-clocks-early-during-the-boot-process-so.patch
@@ -13,7 +13,7 @@ Signed-off-by: Martin Sperl <kernel at martin.sperl.org>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -2265,8 +2265,15 @@ static int bcm2835_clk_probe(struct plat
+@@ -2267,8 +2267,15 @@ static int bcm2835_clk_probe(struct plat
  	if (ret)
  		return ret;
  
@@ -30,7 +30,7 @@ Signed-off-by: Martin Sperl <kernel at martin.sperl.org>
  }
  
  static const struct cprman_plat_data cprman_bcm2835_plat_data = {
-@@ -2292,7 +2299,11 @@ static struct platform_driver bcm2835_cl
+@@ -2294,7 +2301,11 @@ static struct platform_driver bcm2835_cl
  	.probe          = bcm2835_clk_probe,
  };
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0020-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch b/target/linux/bcm27xx/patches-5.4/950-0020-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
index 63f116f68f..309655861b 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0020-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0020-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1379,6 +1379,11 @@ bcm2835_register_pll_divider(struct bcm2
+@@ -1381,6 +1381,11 @@ bcm2835_register_pll_divider(struct bcm2
  	divider->div.hw.init = &init;
  	divider->div.table = NULL;
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0021-clk-bcm2835-Add-claim-clocks-property.patch b/target/linux/bcm27xx/patches-5.4/950-0021-clk-bcm2835-Add-claim-clocks-property.patch
index 87113e8829..7479210c1a 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0021-clk-bcm2835-Add-claim-clocks-property.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0021-clk-bcm2835-Add-claim-clocks-property.patch
@@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  	pll = kzalloc(sizeof(*pll), GFP_KERNEL);
  	if (!pll)
  		return NULL;
-@@ -1380,8 +1385,10 @@ bcm2835_register_pll_divider(struct bcm2
+@@ -1382,8 +1387,10 @@ bcm2835_register_pll_divider(struct bcm2
  	divider->div.table = NULL;
  
  	if (!(cprman_read(cprman, data->cm_reg) & data->hold_mask)) {
@@ -49,7 +49,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  	}
  
  	divider->cprman = cprman;
-@@ -2189,6 +2196,8 @@ static const struct bcm2835_clk_desc clk
+@@ -2191,6 +2198,8 @@ static const struct bcm2835_clk_desc clk
  		.ctl_reg = CM_PERIICTL),
  };
  
@@ -58,7 +58,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  /*
   * Permanently take a reference on the parent of the SDRAM clock.
   *
-@@ -2208,6 +2217,19 @@ static int bcm2835_mark_sdc_parent_criti
+@@ -2210,6 +2219,19 @@ static int bcm2835_mark_sdc_parent_criti
  	return clk_prepare_enable(parent);
  }
  
@@ -78,7 +78,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  static int bcm2835_clk_probe(struct platform_device *pdev)
  {
  	struct device *dev = &pdev->dev;
-@@ -2218,6 +2240,7 @@ static int bcm2835_clk_probe(struct plat
+@@ -2220,6 +2242,7 @@ static int bcm2835_clk_probe(struct plat
  	const size_t asize = ARRAY_SIZE(clk_desc_array);
  	const struct cprman_plat_data *pdata;
  	size_t i;
@@ -86,7 +86,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  	int ret;
  
  	pdata = of_device_get_match_data(&pdev->dev);
-@@ -2237,6 +2260,13 @@ static int bcm2835_clk_probe(struct plat
+@@ -2239,6 +2262,13 @@ static int bcm2835_clk_probe(struct plat
  	if (IS_ERR(cprman->regs))
  		return PTR_ERR(cprman->regs);
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0022-clk-bcm2835-Read-max-core-clock-from-firmware.patch b/target/linux/bcm27xx/patches-5.4/950-0022-clk-bcm2835-Read-max-core-clock-from-firmware.patch
index 094eed705b..0ddcf6f1a8 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0022-clk-bcm2835-Read-max-core-clock-from-firmware.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0022-clk-bcm2835-Read-max-core-clock-from-firmware.patch
@@ -90,7 +90,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  	.set_rate = bcm2835_clock_set_rate,
  	.determine_rate = bcm2835_clock_determine_rate,
  	.set_parent = bcm2835_clock_set_parent,
-@@ -2239,6 +2267,7 @@ static int bcm2835_clk_probe(struct plat
+@@ -2241,6 +2269,7 @@ static int bcm2835_clk_probe(struct plat
  	const struct bcm2835_clk_desc *desc;
  	const size_t asize = ARRAY_SIZE(clk_desc_array);
  	const struct cprman_plat_data *pdata;
@@ -98,7 +98,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.org>
  	size_t i;
  	u32 clk_id;
  	int ret;
-@@ -2260,6 +2289,14 @@ static int bcm2835_clk_probe(struct plat
+@@ -2262,6 +2291,14 @@ static int bcm2835_clk_probe(struct plat
  	if (IS_ERR(cprman->regs))
  		return PTR_ERR(cprman->regs);
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0023-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch b/target/linux/bcm27xx/patches-5.4/950-0023-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
index bee256b030..61d9edf3eb 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0023-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0023-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
@@ -20,7 +20,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1471,6 +1471,15 @@ static struct clk_hw *bcm2835_register_c
+@@ -1473,6 +1473,15 @@ static struct clk_hw *bcm2835_register_c
  	init.flags = data->flags | CLK_IGNORE_UNUSED;
  
  	/*
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 77eb123cfb..8fa4ddf5c8 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
-@@ -1072,6 +1072,30 @@ fb_blank(struct fb_info *info, int blank
+@@ -1076,6 +1076,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)
  {
-@@ -1080,6 +1104,7 @@ static long do_fb_ioctl(struct fb_info *
+@@ -1084,6 +1108,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;
  
-@@ -1155,6 +1180,15 @@ static long do_fb_ioctl(struct fb_info *
+@@ -1159,6 +1184,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;
-@@ -1300,6 +1334,7 @@ static long fb_compat_ioctl(struct file
+@@ -1304,6 +1338,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-0153-media-tc358743-Increase-FIFO-level-to-374.patch b/target/linux/bcm27xx/patches-5.4/950-0153-media-tc358743-Increase-FIFO-level-to-374.patch
index 7bbcf395d4..8ec643f102 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0153-media-tc358743-Increase-FIFO-level-to-374.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0153-media-tc358743-Increase-FIFO-level-to-374.patch
@@ -20,7 +20,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
 
 --- a/drivers/media/i2c/tc358743.c
 +++ b/drivers/media/i2c/tc358743.c
-@@ -1947,7 +1947,7 @@ static int tc358743_probe_of(struct tc35
+@@ -1949,7 +1949,7 @@ static int tc358743_probe_of(struct tc35
  	state->pdata.ddc5v_delay = DDC5V_DELAY_100_MS;
  	state->pdata.enable_hdcp = false;
  	/* A FIFO level of 16 should be enough for 2-lane 720p60 at 594 MHz. */
diff --git a/target/linux/bcm27xx/patches-5.4/950-0154-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch b/target/linux/bcm27xx/patches-5.4/950-0154-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch
index 94911e9205..2357c878d7 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0154-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0154-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch
@@ -24,7 +24,7 @@ Signed-off-by: Philipp Zabel <p.zabel at pengutronix.de>
 
 --- a/drivers/media/i2c/tc358743.c
 +++ b/drivers/media/i2c/tc358743.c
-@@ -1606,11 +1606,20 @@ static int tc358743_g_mbus_config(struct
+@@ -1608,11 +1608,20 @@ static int tc358743_g_mbus_config(struct
  			     struct v4l2_mbus_config *cfg)
  {
  	struct tc358743_state *state = to_state(sd);
@@ -47,7 +47,7 @@ Signed-off-by: Philipp Zabel <p.zabel at pengutronix.de>
  
  	switch (state->csi_lanes_in_use) {
  	case 1:
-@@ -2052,6 +2061,7 @@ static int tc358743_probe(struct i2c_cli
+@@ -2054,6 +2063,7 @@ static int tc358743_probe(struct i2c_cli
  	if (pdata) {
  		state->pdata = *pdata;
  		state->bus.flags = V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
diff --git a/target/linux/bcm27xx/patches-5.4/950-0155-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch b/target/linux/bcm27xx/patches-5.4/950-0155-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch
index 1b8805bf2e..18ee169b1c 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0155-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0155-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch
@@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
 
 --- a/drivers/media/i2c/tc358743.c
 +++ b/drivers/media/i2c/tc358743.c
-@@ -1976,6 +1976,7 @@ static int tc358743_probe_of(struct tc35
+@@ -1978,6 +1978,7 @@ static int tc358743_probe_of(struct tc35
  	/*
  	 * The CSI bps per lane must be between 62.5 Mbps and 1 Gbps.
  	 * The default is 594 Mbps for 4-lane 1080p60 or 2-lane 720p60.
@@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  	 */
  	bps_pr_lane = 2 * endpoint.link_frequencies[0];
  	if (bps_pr_lane < 62500000U || bps_pr_lane > 1000000000U) {
-@@ -1988,23 +1989,41 @@ static int tc358743_probe_of(struct tc35
+@@ -1990,23 +1991,41 @@ static int tc358743_probe_of(struct tc35
  			       state->pdata.refclk_hz * state->pdata.pll_prd;
  
  	/*
diff --git a/target/linux/bcm27xx/patches-5.4/950-0156-media-tc358743-Check-I2C-succeeded-during-probe.patch b/target/linux/bcm27xx/patches-5.4/950-0156-media-tc358743-Check-I2C-succeeded-during-probe.patch
index eb52eea64e..653602b306 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0156-media-tc358743-Check-I2C-succeeded-during-probe.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0156-media-tc358743-Check-I2C-succeeded-during-probe.patch
@@ -78,7 +78,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  static void i2c_wr16(struct v4l2_subdev *sd, u16 reg, u16 val)
  {
  	i2c_wrreg(sd, reg, val, 2);
-@@ -2062,6 +2079,7 @@ static int tc358743_probe(struct i2c_cli
+@@ -2064,6 +2081,7 @@ static int tc358743_probe(struct i2c_cli
  	struct tc358743_platform_data *pdata = client->dev.platform_data;
  	struct v4l2_subdev *sd;
  	u16 irq_mask = MASK_HDMI_MSK | MASK_CSI_MSK;
@@ -86,7 +86,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  	int err;
  
  	if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
-@@ -2094,7 +2112,8 @@ static int tc358743_probe(struct i2c_cli
+@@ -2096,7 +2114,8 @@ static int tc358743_probe(struct i2c_cli
  	sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS;
  
  	/* i2c access */
diff --git a/target/linux/bcm27xx/patches-5.4/950-0162-media-tc358743-Return-an-appropriate-colorspace-from.patch b/target/linux/bcm27xx/patches-5.4/950-0162-media-tc358743-Return-an-appropriate-colorspace-from.patch
index 6ea87b356e..b5b9105f4f 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0162-media-tc358743-Return-an-appropriate-colorspace-from.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0162-media-tc358743-Return-an-appropriate-colorspace-from.patch
@@ -26,7 +26,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
 
 --- a/drivers/media/i2c/tc358743.c
 +++ b/drivers/media/i2c/tc358743.c
-@@ -1688,12 +1688,23 @@ static int tc358743_enum_mbus_code(struc
+@@ -1690,12 +1690,23 @@ static int tc358743_enum_mbus_code(struc
  	return 0;
  }
  
@@ -51,7 +51,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  
  	if (format->pad != 0)
  		return -EINVAL;
-@@ -1703,23 +1714,7 @@ static int tc358743_get_fmt(struct v4l2_
+@@ -1705,23 +1716,7 @@ static int tc358743_get_fmt(struct v4l2_
  	format->format.height = state->timings.bt.height;
  	format->format.field = V4L2_FIELD_NONE;
  
@@ -76,7 +76,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
  
  	return 0;
  }
-@@ -1734,18 +1729,11 @@ static int tc358743_set_fmt(struct v4l2_
+@@ -1736,18 +1731,11 @@ static int tc358743_set_fmt(struct v4l2_
  	int ret = tc358743_get_fmt(sd, cfg, format);
  
  	format->format.code = code;
diff --git a/target/linux/bcm27xx/patches-5.4/950-0179-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch b/target/linux/bcm27xx/patches-5.4/950-0179-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch
index 717822f5cd..c8acb1a378 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0179-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0179-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch
@@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -2352,7 +2352,7 @@ static int bcm2835_clk_probe(struct plat
+@@ -2354,7 +2354,7 @@ static int bcm2835_clk_probe(struct plat
  		return ret;
  
  	/* note that we have registered all the clocks */
diff --git a/target/linux/bcm27xx/patches-5.4/950-0219-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch b/target/linux/bcm27xx/patches-5.4/950-0219-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch
index 26b17393d9..3227f8c914 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0219-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0219-clk-bcm2835-Add-support-for-setting-leaf-clock-rates.patch
@@ -42,7 +42,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	ctl |= (div & CM_DIV_FRAC_MASK) ? CM_FRAC : 0;
  	cprman_write(cprman, data->ctl_reg, ctl);
  
-@@ -1492,7 +1496,7 @@ static struct clk_hw *bcm2835_register_c
+@@ -1494,7 +1498,7 @@ static struct clk_hw *bcm2835_register_c
  		init.ops = &bcm2835_vpu_clock_clk_ops;
  	} else {
  		init.ops = &bcm2835_clock_clk_ops;
diff --git a/target/linux/bcm27xx/patches-5.4/950-0220-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch b/target/linux/bcm27xx/patches-5.4/950-0220-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch
index 22ecf91d63..bae0f84e1a 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0220-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0220-clk-bcm2835-Allow-reparenting-leaf-clocks-while-they.patch
@@ -61,7 +61,7 @@ Signed-off-by: Eric Anholt <eric at anholt.net>
  	.determine_rate = bcm2835_clock_determine_rate,
  	.set_parent = bcm2835_clock_set_parent,
  	.get_parent = bcm2835_clock_get_parent,
-@@ -1496,7 +1510,6 @@ static struct clk_hw *bcm2835_register_c
+@@ -1498,7 +1512,6 @@ static struct clk_hw *bcm2835_register_c
  		init.ops = &bcm2835_vpu_clock_clk_ops;
  	} else {
  		init.ops = &bcm2835_clock_clk_ops;
diff --git a/target/linux/bcm27xx/patches-5.4/950-0222-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.4/950-0222-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
index 5710a88342..0bb08a56fa 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0222-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0222-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
@@ -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
   */
-@@ -5335,6 +5432,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5334,6 +5431,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-0270-clk-bcm2835-Avoid-null-pointer-exception.patch b/target/linux/bcm27xx/patches-5.4/950-0270-clk-bcm2835-Avoid-null-pointer-exception.patch
index 1542f781f0..8a529af7b0 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0270-clk-bcm2835-Avoid-null-pointer-exception.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0270-clk-bcm2835-Avoid-null-pointer-exception.patch
@@ -12,7 +12,7 @@ Signed-off-by: popcornmix <popcornmix at gmail.com>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -2278,9 +2278,11 @@ static bool bcm2835_clk_is_claimed(const
+@@ -2280,9 +2280,11 @@ static bool bcm2835_clk_is_claimed(const
  	int i;
  
  	for (i = 0; i < ARRAY_SIZE(clk_desc_array); i++) {
diff --git a/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
index d2e7c9944f..28f1c18c9a 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
@@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  #define USB_VENDOR_ID_BELKIN		0x050d
  #define USB_DEVICE_ID_FLIP_KVM		0x3201
  
-@@ -1244,6 +1247,9 @@
+@@ -1245,6 +1248,9 @@
  #define USB_VENDOR_ID_XAT	0x2505
  #define USB_DEVICE_ID_XAT_CSR	0x0220
  
diff --git a/target/linux/bcm27xx/patches-5.4/950-0351-clk-bcm2835-Disable-v3d-clock.patch b/target/linux/bcm27xx/patches-5.4/950-0351-clk-bcm2835-Disable-v3d-clock.patch
index 7e55e7d8a6..a7a5221fab 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0351-clk-bcm2835-Disable-v3d-clock.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0351-clk-bcm2835-Disable-v3d-clock.patch
@@ -12,7 +12,7 @@ Signed-off-by: popcornmix <popcornmix at gmail.com>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -1732,16 +1732,12 @@ static const struct bcm2835_clk_desc clk
+@@ -1734,16 +1734,12 @@ static const struct bcm2835_clk_desc clk
  		.hold_mask = CM_PLLA_HOLDCORE,
  		.fixed_divider = 1,
  		.flags = CLK_SET_RATE_PARENT),
@@ -35,7 +35,7 @@ Signed-off-by: popcornmix <popcornmix at gmail.com>
  	[BCM2835_PLLA_DSI0]	= REGISTER_PLL_DIV(
  		SOC_ALL,
  		.name = "plla_dsi0",
-@@ -2019,14 +2015,12 @@ static const struct bcm2835_clk_desc clk
+@@ -2021,14 +2017,12 @@ static const struct bcm2835_clk_desc clk
  		.int_bits = 6,
  		.frac_bits = 0,
  		.tcnt_mux = 3),
diff --git a/target/linux/bcm27xx/patches-5.4/950-0394-Initialise-rpi-firmware-before-clk-bcm2835.patch b/target/linux/bcm27xx/patches-5.4/950-0394-Initialise-rpi-firmware-before-clk-bcm2835.patch
index f993fb4e1a..cdd5e7e9ab 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0394-Initialise-rpi-firmware-before-clk-bcm2835.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0394-Initialise-rpi-firmware-before-clk-bcm2835.patch
@@ -25,7 +25,7 @@ Co-authored-by: Phil Elwell <phil at raspberrypi.org>
 
 --- a/drivers/clk/bcm/clk-bcm2835.c
 +++ b/drivers/clk/bcm/clk-bcm2835.c
-@@ -2399,7 +2399,7 @@ static int __init __bcm2835_clk_driver_i
+@@ -2401,7 +2401,7 @@ static int __init __bcm2835_clk_driver_i
  {
  	return platform_driver_register(&bcm2835_clk_driver);
  }
diff --git a/target/linux/bcm27xx/patches-5.4/950-0447-PCI-of-Add-inbound-resource-parsing-to-helpers.patch b/target/linux/bcm27xx/patches-5.4/950-0447-PCI-of-Add-inbound-resource-parsing-to-helpers.patch
index d8bb3bfbf6..493ea63825 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0447-PCI-of-Add-inbound-resource-parsing-to-helpers.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0447-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
-@@ -1019,7 +1019,8 @@ static int advk_pcie_probe(struct platfo
+@@ -1018,7 +1018,8 @@ static int advk_pcie_probe(struct platfo
  		return ret;
  	}
  
@@ -402,7 +402,7 @@ Cc: linux-rockchip at lists.infradead.org
  }
 --- a/include/linux/pci.h
 +++ b/include/linux/pci.h
-@@ -2277,6 +2277,7 @@ struct irq_domain;
+@@ -2278,6 +2278,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) */
-@@ -2285,9 +2286,11 @@ struct device_node *pcibios_get_phb_of_n
+@@ -2286,9 +2287,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-0706-media-i2c-tc358743-Fix-fallthrough-warning.patch b/target/linux/bcm27xx/patches-5.4/950-0706-media-i2c-tc358743-Fix-fallthrough-warning.patch
index b0e74e5e1b..26c1f95bf2 100644
--- a/target/linux/bcm27xx/patches-5.4/950-0706-media-i2c-tc358743-Fix-fallthrough-warning.patch
+++ b/target/linux/bcm27xx/patches-5.4/950-0706-media-i2c-tc358743-Fix-fallthrough-warning.patch
@@ -10,7 +10,7 @@ Signed-off-by: Jacko Dirks <jdirks.linuxdev at gmail.com>
 
 --- a/drivers/media/i2c/tc358743.c
 +++ b/drivers/media/i2c/tc358743.c
-@@ -2002,6 +2002,7 @@ static int tc358743_probe_of(struct tc35
+@@ -2004,6 +2004,7 @@ static int tc358743_probe_of(struct tc35
  	switch (bps_pr_lane) {
  	default:
  		dev_warn(dev, "untested bps per lane: %u bps\n", bps_pr_lane);
diff --git a/target/linux/generic/backport-5.4/756-v5.8-net-dsa-rtl8366-Pass-GENMASK-signed-bits.patch b/target/linux/generic/backport-5.4/756-v5.8-net-dsa-rtl8366-Pass-GENMASK-signed-bits.patch
index 4c5d559e16..b0ab598365 100644
--- a/target/linux/generic/backport-5.4/756-v5.8-net-dsa-rtl8366-Pass-GENMASK-signed-bits.patch
+++ b/target/linux/generic/backport-5.4/756-v5.8-net-dsa-rtl8366-Pass-GENMASK-signed-bits.patch
@@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
 
 --- a/drivers/net/dsa/rtl8366.c
 +++ b/drivers/net/dsa/rtl8366.c
-@@ -285,7 +285,7 @@ int rtl8366_init_vlan(struct realtek_smi
+@@ -311,7 +311,7 @@ int rtl8366_init_vlan(struct realtek_smi
  			/* For the CPU port, make all ports members of this
  			 * VLAN.
  			 */
diff --git a/target/linux/generic/hack-5.4/204-module_strip.patch b/target/linux/generic/hack-5.4/204-module_strip.patch
index 458736b498..0ed5f44697 100644
--- a/target/linux/generic/hack-5.4/204-module_strip.patch
+++ b/target/linux/generic/hack-5.4/204-module_strip.patch
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  config MODULES_TREE_LOOKUP
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -3126,9 +3126,11 @@ static int setup_load_info(struct load_i
+@@ -3127,9 +3127,11 @@ static int setup_load_info(struct load_i
  
  static int check_modinfo(struct module *mod, struct load_info *info, int flags)
  {
@@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	if (flags & MODULE_INIT_IGNORE_VERMAGIC)
  		modmagic = NULL;
  
-@@ -3149,6 +3151,7 @@ static int check_modinfo(struct module *
+@@ -3150,6 +3152,7 @@ static int check_modinfo(struct module *
  				mod->name);
  		add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
  	}
diff --git a/target/linux/generic/hack-5.4/901-debloat_sock_diag.patch b/target/linux/generic/hack-5.4/901-debloat_sock_diag.patch
index 12ad4c684a..e97c26a858 100644
--- a/target/linux/generic/hack-5.4/901-debloat_sock_diag.patch
+++ b/target/linux/generic/hack-5.4/901-debloat_sock_diag.patch
@@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
  {
  	struct dst_entry *dst = __sk_dst_get(sk);
-@@ -1747,9 +1760,11 @@ static void __sk_free(struct sock *sk)
+@@ -1743,9 +1756,11 @@ static void __sk_free(struct sock *sk)
  	if (likely(sk->sk_net_refcnt))
  		sock_inuse_add(sock_net(sk), -1);
  
diff --git a/target/linux/generic/hack-5.4/902-debloat_proc.patch b/target/linux/generic/hack-5.4/902-debloat_proc.patch
index 19926866a6..7c9d01f2bf 100644
--- a/target/linux/generic/hack-5.4/902-debloat_proc.patch
+++ b/target/linux/generic/hack-5.4/902-debloat_proc.patch
@@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -3634,6 +3634,8 @@ static __net_initdata struct pernet_oper
+@@ -3630,6 +3630,8 @@ static __net_initdata struct pernet_oper
  
  static int __init proto_init(void)
  {
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 3216d20157..a5713a67e7 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
@@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
   * Perform scheduler related setup for a newly forked process p.
 --- a/fs/d_path.c
 +++ b/fs/d_path.c
-@@ -307,6 +307,7 @@ char *dynamic_dname(struct dentry *dentr
+@@ -311,6 +311,7 @@ char *dynamic_dname(struct dentry *dentr
  	buffer += buflen - sz;
  	return memcpy(buffer, temp, sz);
  }
diff --git a/target/linux/generic/pending-5.4/445-mtd-spinand-gigadevice-Only-one-dummy-byte-in-QUA.patch b/target/linux/generic/pending-5.4/445-mtd-spinand-gigadevice-Only-one-dummy-byte-in-QUA.patch
deleted file mode 100644
index 0391094d27..0000000000
--- a/target/linux/generic/pending-5.4/445-mtd-spinand-gigadevice-Only-one-dummy-byte-in-QUA.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5f312dcb38b8003d9711290366cd4b1def5daf3b Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke at hauke-m.de>
-Date: Sun, 16 Aug 2020 14:43:35 +0200
-Subject: [PATCH v2 445/447] mtd: spinand: gigadevice: Only one dummy byte in
- QUADIO
-
-The datasheet only lists one dummy byte in the 0xEH operation for the
-following chips:
-* GD5F1GQ4xExxG
-* GD5F1GQ4xFxxG
-* GD5F1GQ4UAYIG
-* GD5F4GQ4UAYIG
-
-Fixes: c93c613214ac ("mtd: spinand: add support for GigaDevice GD5FxGQ4xA")
-Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
----
- drivers/mtd/nand/spi/gigadevice.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/mtd/nand/spi/gigadevice.c
-+++ b/drivers/mtd/nand/spi/gigadevice.c
-@@ -21,7 +21,7 @@
- #define GD5FXGQ4UXFXXG_STATUS_ECC_UNCOR_ERROR	(7 << 4)
- 
- static SPINAND_OP_VARIANTS(read_cache_variants,
--		SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0),
-+		SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 1, NULL, 0),
- 		SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
- 		SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
- 		SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0),
-@@ -29,7 +29,7 @@ static SPINAND_OP_VARIANTS(read_cache_va
- 		SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0));
- 
- static SPINAND_OP_VARIANTS(read_cache_variants_f,
--		SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0),
-+		SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 1, NULL, 0),
- 		SPINAND_PAGE_READ_FROM_CACHE_X4_OP_3A(0, 1, NULL, 0),
- 		SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0),
- 		SPINAND_PAGE_READ_FROM_CACHE_X2_OP_3A(0, 1, NULL, 0),
diff --git a/target/linux/generic/pending-5.4/446-mtd-spinand-gigadevice-Add-QE-Bit.patch b/target/linux/generic/pending-5.4/446-mtd-spinand-gigadevice-Add-QE-Bit.patch
deleted file mode 100644
index 034cd2a8f0..0000000000
--- a/target/linux/generic/pending-5.4/446-mtd-spinand-gigadevice-Add-QE-Bit.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From f72e99ada020a81e3e4ef79c0a83ede7e9d6c7b1 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke at hauke-m.de>
-Date: Sun, 16 Aug 2020 14:42:17 +0200
-Subject: [PATCH v2 446/447] mtd: spinand: gigadevice: Add QE Bit
-
-The following GigaDevice chips have the QE BIT in the feature flags, I
-checked the datasheets, but did not try this.
-* GD5F1GQ4xExxG
-* GD5F1GQ4xFxxG
-* GD5F1GQ4UAYIG
-* GD5F4GQ4UAYIG
-
-The Quad operations like 0xEB mention that the QE bit has to be set.
-
-Fixes: c93c613214ac ("mtd: spinand: add support for GigaDevice GD5FxGQ4xA")
-Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
----
- drivers/mtd/nand/spi/gigadevice.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
---- a/drivers/mtd/nand/spi/gigadevice.c
-+++ b/drivers/mtd/nand/spi/gigadevice.c
-@@ -201,7 +201,7 @@ static const struct spinand_info gigadev
- 		     SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
- 					      &write_cache_variants,
- 					      &update_cache_variants),
--		     0,
-+		     SPINAND_HAS_QE_BIT,
- 		     SPINAND_ECCINFO(&gd5fxgq4xa_ooblayout,
- 				     gd5fxgq4xa_ecc_get_status)),
- 	SPINAND_INFO("GD5F2GQ4xA", 0xF2,
-@@ -210,7 +210,7 @@ static const struct spinand_info gigadev
- 		     SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
- 					      &write_cache_variants,
- 					      &update_cache_variants),
--		     0,
-+		     SPINAND_HAS_QE_BIT,
- 		     SPINAND_ECCINFO(&gd5fxgq4xa_ooblayout,
- 				     gd5fxgq4xa_ecc_get_status)),
- 	SPINAND_INFO("GD5F4GQ4xA", 0xF4,
-@@ -219,7 +219,7 @@ static const struct spinand_info gigadev
- 		     SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
- 					      &write_cache_variants,
- 					      &update_cache_variants),
--		     0,
-+		     SPINAND_HAS_QE_BIT,
- 		     SPINAND_ECCINFO(&gd5fxgq4xa_ooblayout,
- 				     gd5fxgq4xa_ecc_get_status)),
- 	SPINAND_INFO("GD5F1GQ4UExxG", 0xd1,
-@@ -228,7 +228,7 @@ static const struct spinand_info gigadev
- 		     SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
- 					      &write_cache_variants,
- 					      &update_cache_variants),
--		     0,
-+		     SPINAND_HAS_QE_BIT,
- 		     SPINAND_ECCINFO(&gd5fxgq4_variant2_ooblayout,
- 				     gd5fxgq4uexxg_ecc_get_status)),
- 	SPINAND_INFO("GD5F1GQ4UFxxG", 0xb148,
-@@ -237,7 +237,7 @@ static const struct spinand_info gigadev
- 		     SPINAND_INFO_OP_VARIANTS(&read_cache_variants_f,
- 					      &write_cache_variants,
- 					      &update_cache_variants),
--		     0,
-+		     SPINAND_HAS_QE_BIT,
- 		     SPINAND_ECCINFO(&gd5fxgq4_variant2_ooblayout,
- 				     gd5fxgq4ufxxg_ecc_get_status)),
- };
diff --git a/target/linux/generic/pending-5.4/613-netfilter_optional_tcp_window_check.patch b/target/linux/generic/pending-5.4/613-netfilter_optional_tcp_window_check.patch
index 5ad13883e7..711ffcd838 100644
--- a/target/linux/generic/pending-5.4/613-netfilter_optional_tcp_window_check.patch
+++ b/target/linux/generic/pending-5.4/613-netfilter_optional_tcp_window_check.patch
@@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	/*
  	 * Get the required data from the packet.
  	 */
-@@ -1123,7 +1129,7 @@ int nf_conntrack_tcp_packet(struct nf_co
+@@ -1130,7 +1136,7 @@ int nf_conntrack_tcp_packet(struct nf_co
  		 IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED &&
  		 timeouts[new_state] > timeouts[TCP_CONNTRACK_UNACK])
  		timeout = timeouts[TCP_CONNTRACK_UNACK];
diff --git a/target/linux/ipq806x/patches-5.4/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch b/target/linux/ipq806x/patches-5.4/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch
index 5eb1560774..204d6e62d9 100644
--- a/target/linux/ipq806x/patches-5.4/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch
+++ b/target/linux/ipq806x/patches-5.4/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch
@@ -39,7 +39,7 @@ Signed-off-by: Sylwester Nawrocki <s.nawrocki at samsung.com>
 
 --- a/drivers/opp/core.c
 +++ b/drivers/opp/core.c
-@@ -2095,6 +2095,75 @@ put_table:
+@@ -2101,6 +2101,75 @@ put_table:
  }
  
  /**
diff --git a/target/linux/ipq806x/patches-5.4/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch b/target/linux/ipq806x/patches-5.4/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch
index d4dd53d2dc..122511e463 100644
--- a/target/linux/ipq806x/patches-5.4/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch
+++ b/target/linux/ipq806x/patches-5.4/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch
@@ -17,7 +17,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov at linaro.org>
 
 --- a/drivers/opp/core.c
 +++ b/drivers/opp/core.c
-@@ -2135,6 +2135,7 @@ int dev_pm_opp_adjust_voltage(struct dev
+@@ -2141,6 +2141,7 @@ int dev_pm_opp_adjust_voltage(struct dev
  	struct opp_table *opp_table;
  	struct dev_pm_opp *tmp_opp, *opp = ERR_PTR(-ENODEV);
  	int r = 0;
@@ -25,7 +25,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov at linaro.org>
  
  	/* Find the opp_table */
  	opp_table = _find_opp_table(dev);
-@@ -2164,8 +2165,17 @@ int dev_pm_opp_adjust_voltage(struct dev
+@@ -2170,8 +2171,17 @@ int dev_pm_opp_adjust_voltage(struct dev
  		goto adjust_unlock;
  
  	opp->supplies->u_volt = u_volt;
diff --git a/target/linux/ipq806x/patches-5.4/096-PCI-qcom-Make-sure-PCIe-is-reset-before-init-for-rev.patch b/target/linux/ipq806x/patches-5.4/096-PCI-qcom-Make-sure-PCIe-is-reset-before-init-for-rev.patch
index 5c93d3199a..2ca336b05b 100644
--- a/target/linux/ipq806x/patches-5.4/096-PCI-qcom-Make-sure-PCIe-is-reset-before-init-for-rev.patch
+++ b/target/linux/ipq806x/patches-5.4/096-PCI-qcom-Make-sure-PCIe-is-reset-before-init-for-rev.patch
@@ -15,11 +15,9 @@ Cc: stable at vger.kernel.org # v4.19+
  drivers/pci/controller/dwc/pcie-qcom.c | 13 +++++++++++++
  1 file changed, 13 insertions(+)
 
-diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
-index 3aac77a295ba..82336bbaf8dc 100644
 --- a/drivers/pci/controller/dwc/pcie-qcom.c
 +++ b/drivers/pci/controller/dwc/pcie-qcom.c
-@@ -302,6 +302,9 @@ static void qcom_pcie_deinit_2_1_0(struct qcom_pcie *pcie)
+@@ -296,6 +296,9 @@ static void qcom_pcie_deinit_2_1_0(struc
  	reset_control_assert(res->por_reset);
  	reset_control_assert(res->ext_reset);
  	reset_control_assert(res->phy_reset);
@@ -29,7 +27,7 @@ index 3aac77a295ba..82336bbaf8dc 100644
  	regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies);
  }
  
-@@ -314,6 +317,16 @@ static int qcom_pcie_init_2_1_0(struct qcom_pcie *pcie)
+@@ -308,6 +311,16 @@ static int qcom_pcie_init_2_1_0(struct q
  	u32 val;
  	int ret;
  
@@ -46,6 +44,3 @@ index 3aac77a295ba..82336bbaf8dc 100644
  	ret = regulator_bulk_enable(ARRAY_SIZE(res->supplies), res->supplies);
  	if (ret < 0) {
  		dev_err(dev, "cannot enable regulators\n");
--- 
-2.27.0
-
diff --git a/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
index 8fa0e9d5d8..cb482bc522 100644
--- a/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
+++ b/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch
@@ -5480,7 +5480,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  	  (transaction layer end-to-end CRC checking).
 --- a/include/linux/pci.h
 +++ b/include/linux/pci.h
-@@ -1389,6 +1389,8 @@ void pci_walk_bus(struct pci_bus *top, i
+@@ -1390,6 +1390,8 @@ void pci_walk_bus(struct pci_bus *top, i
  		  void *userdata);
  int pci_cfg_space_size(struct pci_dev *dev);
  unsigned char pci_bus_max_busnr(struct pci_bus *bus);
diff --git a/target/linux/layerscape/patches-5.4/302-dts-0119-arm64-dts-lx2160a-add-more-thermal-zone-support.patch b/target/linux/layerscape/patches-5.4/302-dts-0119-arm64-dts-lx2160a-add-more-thermal-zone-support.patch
index 7a3d8be94b..5a29451564 100644
--- a/target/linux/layerscape/patches-5.4/302-dts-0119-arm64-dts-lx2160a-add-more-thermal-zone-support.patch
+++ b/target/linux/layerscape/patches-5.4/302-dts-0119-arm64-dts-lx2160a-add-more-thermal-zone-support.patch
@@ -12,8 +12,6 @@ Signed-off-by: Yuantian Tang <andy.tang at nxp.com>
  .../arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 130 +++++++++++++++++-
  1 file changed, 125 insertions(+), 5 deletions(-)
 
-diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
-index cab7468c3..fe9b8bf4d 100644
 --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
 +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
 @@ -440,19 +440,19 @@
@@ -184,6 +182,3 @@ index cab7468c3..fe9b8bf4d 100644
  			little-endian;
  			#thermal-sensor-cells = <1>;
  		};
--- 
-2.17.1
-
diff --git a/target/linux/layerscape/patches-5.4/302-dts-0120-arm64-dts-ls1046a-fix-ippdexpcr-offset-not-correct.patch b/target/linux/layerscape/patches-5.4/302-dts-0120-arm64-dts-ls1046a-fix-ippdexpcr-offset-not-correct.patch
index 4cda7e48e8..3fb96c9133 100644
--- a/target/linux/layerscape/patches-5.4/302-dts-0120-arm64-dts-ls1046a-fix-ippdexpcr-offset-not-correct.patch
+++ b/target/linux/layerscape/patches-5.4/302-dts-0120-arm64-dts-ls1046a-fix-ippdexpcr-offset-not-correct.patch
@@ -12,11 +12,9 @@ Signed-off-by: Ran Wang <ran.wang_1 at nxp.com>
  arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
-index 718af5e..1ef5743 100644
 --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
-@@ -796,7 +796,7 @@
+@@ -808,7 +808,7 @@
  
  		rcpm: rcpm at 1ee208c {
  			compatible = "fsl,ls1046a-rcpm", "fsl,qoriq-rcpm-2.1+";
@@ -25,6 +23,3 @@ index 718af5e..1ef5743 100644
  			#fsl,rcpm-wakeup-cells = <1>;
  		};
  
--- 
-2.7.4
-
diff --git a/target/linux/layerscape/patches-5.4/302-dts-0121-arm64-dts-ls1043a-update-USB-nodes-status-to-match-b.patch b/target/linux/layerscape/patches-5.4/302-dts-0121-arm64-dts-ls1043a-update-USB-nodes-status-to-match-b.patch
index a51004b986..952238f2c4 100644
--- a/target/linux/layerscape/patches-5.4/302-dts-0121-arm64-dts-ls1043a-update-USB-nodes-status-to-match-b.patch
+++ b/target/linux/layerscape/patches-5.4/302-dts-0121-arm64-dts-ls1043a-update-USB-nodes-status-to-match-b.patch
@@ -23,8 +23,6 @@ Signed-off-by: Shawn Guo <shawnguo at kernel.org>
  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi    | 3 +++
  3 files changed, 15 insertions(+)
 
-diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
-index 219a98780..fe4c4e1fa 100644
 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
 @@ -167,6 +167,10 @@
@@ -38,11 +36,9 @@ index 219a98780..fe4c4e1fa 100644
  #include "fsl-ls1043-post.dtsi"
  
  &fman0 {
-diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
-index ace1d6061..aa2f88f8e 100644
 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
-@@ -213,3 +213,11 @@
+@@ -212,3 +212,11 @@
  		};
  	};
  };
@@ -54,8 +50,6 @@ index ace1d6061..aa2f88f8e 100644
 +&usb1 {
 +	status = "okay";
 +};
-diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
-index e19e05dda..f879ac8f0 100644
 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
 @@ -706,6 +706,7 @@
@@ -82,6 +76,3 @@ index e19e05dda..f879ac8f0 100644
  			};
  
  			sata: sata at 3200000 {
--- 
-2.17.1
-
diff --git a/target/linux/layerscape/patches-5.4/302-dts-0122-arm64-dts-ls1043a-remove-thermal-zone-5-from-dts.patch b/target/linux/layerscape/patches-5.4/302-dts-0122-arm64-dts-ls1043a-remove-thermal-zone-5-from-dts.patch
index 0cde3615df..0a9f683ea1 100644
--- a/target/linux/layerscape/patches-5.4/302-dts-0122-arm64-dts-ls1043a-remove-thermal-zone-5-from-dts.patch
+++ b/target/linux/layerscape/patches-5.4/302-dts-0122-arm64-dts-ls1043a-remove-thermal-zone-5-from-dts.patch
@@ -11,11 +11,9 @@ Signed-off-by: Yuantian <andy.tang at nxp.com>
  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 4 ----
  1 file changed, 4 deletions(-)
 
-diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
-index e19e05ddae08..fd898d51f53a 100644
 --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
 +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
-@@ -915,8 +915,4 @@
+@@ -918,8 +918,4 @@
  	thermal-zone4 {
  		status = "okay";
  	};
@@ -24,6 +22,3 @@ index e19e05ddae08..fd898d51f53a 100644
 -		status = "okay";
 -	};
  };
--- 
-2.17.1
-
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0001-Revert-ASoC-fsl_sai-Fix-noise-when-using-EDMA.patch b/target/linux/layerscape/patches-5.4/801-audio-0001-Revert-ASoC-fsl_sai-Fix-noise-when-using-EDMA.patch
index 5b51fa2794..98c9214eaf 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0001-Revert-ASoC-fsl_sai-Fix-noise-when-using-EDMA.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0001-Revert-ASoC-fsl_sai-Fix-noise-when-using-EDMA.patch
@@ -28,7 +28,7 @@ This reverts commit e75f4940e8ad0dd76527302a10c06b58bf7eb590.
  	ret = snd_pcm_hw_constraint_list(substream->runtime, 0,
  			SNDRV_PCM_HW_PARAM_RATE, &fsl_sai_rate_constraints);
  
-@@ -1049,35 +1039,30 @@ static int fsl_sai_remove(struct platfor
+@@ -1052,35 +1042,30 @@ static int fsl_sai_remove(struct platfor
  
  static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
  	.use_imx_pcm = false,
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0002-Revert-ASoC-fsl_sai-Implement-set_bclk_ratio.patch b/target/linux/layerscape/patches-5.4/801-audio-0002-Revert-ASoC-fsl_sai-Implement-set_bclk_ratio.patch
index a8aeca7ace..60e3e3e853 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0002-Revert-ASoC-fsl_sai-Implement-set_bclk_ratio.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0002-Revert-ASoC-fsl_sai-Implement-set_bclk_ratio.patch
@@ -62,4 +62,4 @@ This reverts commit 63d1a3488ff58e094a7f517cf93c0250f0a3f6be.
 -	unsigned int bclk_ratio;
  
  	const struct fsl_sai_soc_data *soc_data;
- 	struct snd_dmaengine_dai_dma_data dma_params_rx;
+ 	struct snd_soc_dai_driver cpu_dai_drv;
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0003-Revert-ASoC-fsl_sai-Add-support-for-imx8qm.patch b/target/linux/layerscape/patches-5.4/801-audio-0003-Revert-ASoC-fsl_sai-Add-support-for-imx8qm.patch
index 08198f2c40..1fe6c649dc 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0003-Revert-ASoC-fsl_sai-Add-support-for-imx8qm.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0003-Revert-ASoC-fsl_sai-Add-support-for-imx8qm.patch
@@ -10,7 +10,7 @@ This reverts commit 6eeb60be5ebb73b2e5911e26fb1aed02940b7d09.
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -1044,19 +1044,12 @@ static const struct fsl_sai_soc_data fsl
+@@ -1047,19 +1047,12 @@ static const struct fsl_sai_soc_data fsl
  	.reg_offset = 8,
  };
  
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0004-Revert-ASoC-fsl_sai-Add-support-for-imx7ulp-imx8mq.patch b/target/linux/layerscape/patches-5.4/801-audio-0004-Revert-ASoC-fsl_sai-Add-support-for-imx7ulp-imx8mq.patch
index d3518b277f..f08d8e0e38 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0004-Revert-ASoC-fsl_sai-Add-support-for-imx7ulp-imx8mq.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0004-Revert-ASoC-fsl_sai-Add-support-for-imx7ulp-imx8mq.patch
@@ -10,7 +10,7 @@ This reverts commit a860fac420971c5a90d4f78959b44ead793aee4f.
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -1032,24 +1032,10 @@ static const struct fsl_sai_soc_data fsl
+@@ -1035,24 +1035,10 @@ static const struct fsl_sai_soc_data fsl
  	.reg_offset = 0,
  };
  
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0005-Revert-ASoC-fsl_sai-Add-support-for-SAI-new-version.patch b/target/linux/layerscape/patches-5.4/801-audio-0005-Revert-ASoC-fsl_sai-Add-support-for-SAI-new-version.patch
index bf5ee60245..86ea031740 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0005-Revert-ASoC-fsl_sai-Add-support-for-SAI-new-version.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0005-Revert-ASoC-fsl_sai-Add-support-for-SAI-new-version.patch
@@ -494,7 +494,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
  	sai->regmap = devm_regmap_init_mmio_clk(&pdev->dev,
  			"bus", base, &fsl_sai_regmap_config);
  
-@@ -1023,13 +983,11 @@ static int fsl_sai_remove(struct platfor
+@@ -1026,13 +986,11 @@ static int fsl_sai_remove(struct platfor
  static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
  	.use_imx_pcm = false,
  	.fifo_depth = 32,
@@ -508,7 +508,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
  };
  
  static const struct of_device_id fsl_sai_ids[] = {
-@@ -1062,7 +1020,6 @@ static int fsl_sai_runtime_suspend(struc
+@@ -1065,7 +1023,6 @@ static int fsl_sai_runtime_suspend(struc
  static int fsl_sai_runtime_resume(struct device *dev)
  {
  	struct fsl_sai *sai = dev_get_drvdata(dev);
@@ -516,7 +516,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
  	int ret;
  
  	ret = clk_prepare_enable(sai->bus_clk);
-@@ -1084,11 +1041,11 @@ static int fsl_sai_runtime_resume(struct
+@@ -1087,11 +1044,11 @@ static int fsl_sai_runtime_resume(struct
  	}
  
  	regcache_cache_only(sai->regmap, false);
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0007-Revert-ASoC-fsl_sai-Add-registers-definition-for-mul.patch b/target/linux/layerscape/patches-5.4/801-audio-0007-Revert-ASoC-fsl_sai-Add-registers-definition-for-mul.patch
index 0cca97f4f6..d73a4269d6 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0007-Revert-ASoC-fsl_sai-Add-registers-definition-for-mul.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0007-Revert-ASoC-fsl_sai-Add-registers-definition-for-mul.patch
@@ -119,7 +119,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
  	case FSL_SAI_TMR:
  	case FSL_SAI_RCSR:
  	case FSL_SAI_RCR1:
-@@ -939,8 +883,8 @@ static int fsl_sai_probe(struct platform
+@@ -942,8 +886,8 @@ static int fsl_sai_probe(struct platform
  				   MCLK_DIR(index));
  	}
  
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch b/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch
index 8d86b4e258..e604d351bc 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch
@@ -295,7 +295,7 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
  	ret = devm_request_irq(&pdev->dev, irq, mxs_saif_irq, 0,
 --- a/sound/soc/qcom/lpass-platform.c
 +++ b/sound/soc/qcom/lpass-platform.c
-@@ -564,8 +564,11 @@ int asoc_qcom_lpass_platform_register(st
+@@ -565,8 +565,11 @@ int asoc_qcom_lpass_platform_register(st
  	int ret;
  
  	drvdata->lpaif_irq = platform_get_irq_byname(pdev, "lpass-irq-lpaif");
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0010-Revert-ASoC-fsl_sai-derive-TX-FIFO-watermark-from-FI.patch b/target/linux/layerscape/patches-5.4/801-audio-0010-Revert-ASoC-fsl_sai-derive-TX-FIFO-watermark-from-FI.patch
index 33e6c7d133..07c3b87b04 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0010-Revert-ASoC-fsl_sai-derive-TX-FIFO-watermark-from-FI.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0010-Revert-ASoC-fsl_sai-derive-TX-FIFO-watermark-from-FI.patch
@@ -21,7 +21,7 @@ This reverts commit bd517707d85f19a7339ea8b882fcbf0fd9976bd6.
  	regmap_update_bits(sai->regmap, FSL_SAI_RCR1, FSL_SAI_CR1_RFW_MASK,
  			   FSL_SAI_MAXBURST_RX - 1);
  
-@@ -925,12 +925,10 @@ static int fsl_sai_remove(struct platfor
+@@ -928,12 +928,10 @@ static int fsl_sai_remove(struct platfor
  
  static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
  	.use_imx_pcm = false,
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch b/target/linux/layerscape/patches-5.4/801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch
index 465c3314d9..12a32bc26b 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch
@@ -34,7 +34,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
  
  	sai->is_lsb_first = of_property_read_bool(np, "lsb-first");
  
-@@ -898,7 +900,7 @@ static int fsl_sai_probe(struct platform
+@@ -901,7 +903,7 @@ static int fsl_sai_probe(struct platform
  	if (ret)
  		goto err_pm_disable;
  
@@ -43,7 +43,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
  		ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE);
  		if (ret)
  			goto err_pm_disable;
-@@ -923,18 +925,10 @@ static int fsl_sai_remove(struct platfor
+@@ -926,18 +928,10 @@ static int fsl_sai_remove(struct platfor
  	return 0;
  }
  
@@ -91,6 +91,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
  	unsigned int slot_width;
  
 -	const struct fsl_sai_soc_data *soc_data;
+ 	struct snd_soc_dai_driver cpu_dai_drv;
  	struct snd_dmaengine_dai_dma_data dma_params_rx;
  	struct snd_dmaengine_dai_dma_data dma_params_tx;
- };
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0018-MLK-13574-2-ASoC-fsl_sai-refine-driver-for-ip-upgrad.patch b/target/linux/layerscape/patches-5.4/801-audio-0018-MLK-13574-2-ASoC-fsl_sai-refine-driver-for-ip-upgrad.patch
index 2d770d0e4e..793936d376 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0018-MLK-13574-2-ASoC-fsl_sai-refine-driver-for-ip-upgrad.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0018-MLK-13574-2-ASoC-fsl_sai-refine-driver-for-ip-upgrad.patch
@@ -277,7 +277,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
  	irq = platform_get_irq(pdev, 0);
  	if (irq < 0) {
  		dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
-@@ -933,8 +1027,8 @@ static int fsl_sai_probe(struct platform
+@@ -936,8 +1030,8 @@ static int fsl_sai_probe(struct platform
  				   MCLK_DIR(index));
  	}
  
@@ -288,7 +288,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
  	sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX;
  	sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX;
  
-@@ -947,7 +1041,7 @@ static int fsl_sai_probe(struct platform
+@@ -950,7 +1044,7 @@ static int fsl_sai_probe(struct platform
  	if (ret)
  		goto err_pm_disable;
  
@@ -297,7 +297,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
  		ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE);
  		if (ret)
  			goto err_pm_disable;
-@@ -993,6 +1087,9 @@ static int fsl_sai_runtime_suspend(struc
+@@ -996,6 +1090,9 @@ static int fsl_sai_runtime_suspend(struc
  
  	clk_disable_unprepare(sai->bus_clk);
  
@@ -307,7 +307,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
  	regcache_cache_only(sai->regmap, true);
  	regcache_mark_dirty(sai->regmap);
  
-@@ -1022,6 +1119,10 @@ static int fsl_sai_runtime_resume(struct
+@@ -1025,6 +1122,10 @@ static int fsl_sai_runtime_resume(struct
  			goto disable_tx_clk;
  	}
  
@@ -412,8 +412,8 @@ Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
  
  	unsigned int mclk_id[2];
  	unsigned int mclk_streams;
-@@ -146,6 +173,8 @@ struct fsl_sai {
- 
+@@ -147,6 +174,8 @@ struct fsl_sai {
+ 	struct snd_soc_dai_driver cpu_dai_drv;
  	struct snd_dmaengine_dai_dma_data dma_params_rx;
  	struct snd_dmaengine_dai_dma_data dma_params_tx;
 +	const struct fsl_sai_soc_data *soc;
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0027-MLK-15140-1-ASoC-fsl_sai-support-latest-sai-module.patch b/target/linux/layerscape/patches-5.4/801-audio-0027-MLK-15140-1-ASoC-fsl_sai-support-latest-sai-module.patch
index 7f234a27cc..f0063453d5 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0027-MLK-15140-1-ASoC-fsl_sai-support-latest-sai-module.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0027-MLK-15140-1-ASoC-fsl_sai-support-latest-sai-module.patch
@@ -590,7 +590,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang at freescale.com>
  	if (ret) {
  		dev_err(&pdev->dev, "failed to claim irq %u\n", irq);
  		return ret;
-@@ -1088,6 +1132,7 @@ static int fsl_sai_runtime_suspend(struc
+@@ -1091,6 +1135,7 @@ static int fsl_sai_runtime_suspend(struc
  static int fsl_sai_runtime_resume(struct device *dev)
  {
  	struct fsl_sai *sai = dev_get_drvdata(dev);
@@ -598,7 +598,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang at freescale.com>
  	int ret;
  
  	ret = clk_prepare_enable(sai->bus_clk);
-@@ -1113,11 +1158,11 @@ static int fsl_sai_runtime_resume(struct
+@@ -1116,11 +1161,11 @@ static int fsl_sai_runtime_resume(struct
  				PM_QOS_CPU_DMA_LATENCY, 0);
  
  	regcache_cache_only(sai->regmap, false);
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0030-MLK-15960-2-ASoC-fsl_sai-refine-the-pm-runtime-funct.patch b/target/linux/layerscape/patches-5.4/801-audio-0030-MLK-15960-2-ASoC-fsl_sai-refine-the-pm-runtime-funct.patch
index 9f9db86f64..03201fea90 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0030-MLK-15960-2-ASoC-fsl_sai-refine-the-pm-runtime-funct.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0030-MLK-15960-2-ASoC-fsl_sai-refine-the-pm-runtime-funct.patch
@@ -16,16 +16,16 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang at freescale.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -1094,6 +1094,8 @@ static int fsl_sai_probe(struct platform
+@@ -1097,6 +1097,8 @@ static int fsl_sai_probe(struct platform
  
  	pm_runtime_enable(&pdev->dev);
  
 +	regcache_cache_only(sai->regmap, true);
 +
  	ret = devm_snd_soc_register_component(&pdev->dev, &fsl_component,
- 			&fsl_sai_dai, 1);
+ 					      &sai->cpu_dai_drv, 1);
  	if (ret)
-@@ -1137,6 +1139,8 @@ static int fsl_sai_runtime_suspend(struc
+@@ -1140,6 +1142,8 @@ static int fsl_sai_runtime_suspend(struc
  {
  	struct fsl_sai *sai = dev_get_drvdata(dev);
  
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0035-MLK-16929-1-ASoC-fsl_sai-add-bitclk_freq.patch b/target/linux/layerscape/patches-5.4/801-audio-0035-MLK-16929-1-ASoC-fsl_sai-add-bitclk_freq.patch
index 72078d981d..c095f5ff35 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0035-MLK-16929-1-ASoC-fsl_sai-add-bitclk_freq.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0035-MLK-16929-1-ASoC-fsl_sai-add-bitclk_freq.patch
@@ -51,5 +51,5 @@ Signed-off-by: Adrian Alonso <adrian.alonso at nxp.com>
  	unsigned int slot_width;
 +	unsigned int bitclk_freq;
  
+ 	struct snd_soc_dai_driver cpu_dai_drv;
  	struct snd_dmaengine_dai_dma_data dma_params_rx;
- 	struct snd_dmaengine_dai_dma_data dma_params_tx;
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0037-MLK-16224-4-ASoC-fsl_sai-support-multi-fifo-and-DSD.patch b/target/linux/layerscape/patches-5.4/801-audio-0037-MLK-16224-4-ASoC-fsl_sai-support-multi-fifo-and-DSD.patch
index b5802d3250..c2952deaab 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0037-MLK-16224-4-ASoC-fsl_sai-support-multi-fifo-and-DSD.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0037-MLK-16224-4-ASoC-fsl_sai-support-multi-fifo-and-DSD.patch
@@ -274,7 +274,7 @@ Reviewed-by: Viorel Suman <viorel.suman at nxp.com>
  	if ((of_find_property(np, "fsl,i2s-xtor", NULL) != NULL) ||
  	    (of_find_property(np, "fsl,txm-rxs", NULL) != NULL))
  	{
-@@ -1141,6 +1280,11 @@ static int fsl_sai_probe(struct platform
+@@ -1144,6 +1283,11 @@ static int fsl_sai_probe(struct platform
  	sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX;
  	sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX;
  
@@ -315,7 +315,7 @@ Reviewed-by: Viorel Suman <viorel.suman at nxp.com>
  	unsigned int masterflag[2];
  
  	unsigned int mclk_id[2];
-@@ -187,6 +195,8 @@ struct fsl_sai {
+@@ -188,6 +196,8 @@ struct fsl_sai {
  	struct snd_dmaengine_dai_dma_data dma_params_tx;
  	const struct fsl_sai_soc_data *soc;
  	struct pm_qos_request pm_qos_req;
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0039-MLK-16224-6-ASoC-fsl_sai-fix-DSD-suspend-resume.patch b/target/linux/layerscape/patches-5.4/801-audio-0039-MLK-16224-6-ASoC-fsl_sai-fix-DSD-suspend-resume.patch
index 8ca538cd62..a01ac65180 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0039-MLK-16224-6-ASoC-fsl_sai-fix-DSD-suspend-resume.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0039-MLK-16224-6-ASoC-fsl_sai-fix-DSD-suspend-resume.patch
@@ -36,7 +36,7 @@ Reviewed-by: Shengjiu Wang <shengjiu.wang at nxp.com>
 +	return 0;
 +}
 +
- static struct snd_soc_dai_driver fsl_sai_dai = {
+ static struct snd_soc_dai_driver fsl_sai_dai_template = {
  	.probe = fsl_sai_dai_probe,
  	.playback = {
 @@ -913,6 +930,7 @@ static struct snd_soc_dai_driver fsl_sai
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0048-MLK-17580-ASoC-fsl-sai-Use-DSD-helper.patch b/target/linux/layerscape/patches-5.4/801-audio-0048-MLK-17580-ASoC-fsl-sai-Use-DSD-helper.patch
index 856f2bb6d7..edfbd57fb2 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0048-MLK-17580-ASoC-fsl-sai-Use-DSD-helper.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0048-MLK-17580-ASoC-fsl-sai-Use-DSD-helper.patch
@@ -73,7 +73,7 @@ Reviewed-by: Shengjiu Wang <shengjiu.wang at nxp.com
  		if (ret) {
  			dev_err(cpu_dai->dev,
  				"failed to set proper pins state: %d\n", ret);
-@@ -1354,9 +1345,6 @@ static int fsl_sai_probe(struct platform
+@@ -1357,9 +1348,6 @@ static int fsl_sai_probe(struct platform
  
  	sai->pinctrl  = devm_pinctrl_get(&pdev->dev);
  
@@ -85,7 +85,7 @@ Reviewed-by: Shengjiu Wang <shengjiu.wang at nxp.com
  	pm_runtime_enable(&pdev->dev);
 --- a/sound/soc/fsl/fsl_sai.h
 +++ b/sound/soc/fsl/fsl_sai.h
-@@ -211,7 +211,7 @@ struct fsl_sai {
+@@ -212,7 +212,7 @@ struct fsl_sai {
  	const struct fsl_sai_soc_data *soc;
  	struct pm_qos_request pm_qos_req;
  	struct pinctrl *pinctrl;
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0049-MLK-17580-ASoC-fsl-sai-check-for-pinctrl-status.patch b/target/linux/layerscape/patches-5.4/801-audio-0049-MLK-17580-ASoC-fsl-sai-check-for-pinctrl-status.patch
index ebd71672b2..f93bdfe63e 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0049-MLK-17580-ASoC-fsl-sai-check-for-pinctrl-status.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0049-MLK-17580-ASoC-fsl-sai-check-for-pinctrl-status.patch
@@ -49,7 +49,7 @@ Signed-off-by: Viorel Suman <viorel.suman at nxp.com>
  		ret = pinctrl_select_state(sai->pinctrl, sai->pins_state);
  		if (ret) {
  			dev_err(cpu_dai->dev,
-@@ -1343,7 +1346,7 @@ static int fsl_sai_probe(struct platform
+@@ -1346,7 +1349,7 @@ static int fsl_sai_probe(struct platform
  	sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX;
  	sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX;
  
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0050-MLK-17531-1-ASoC-fsl-sai-add-support-for-SAI-v3.01.patch b/target/linux/layerscape/patches-5.4/801-audio-0050-MLK-17531-1-ASoC-fsl-sai-add-support-for-SAI-v3.01.patch
index d2ce7e21c1..0df0f2fa93 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0050-MLK-17531-1-ASoC-fsl-sai-add-support-for-SAI-v3.01.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0050-MLK-17531-1-ASoC-fsl-sai-add-support-for-SAI-v3.01.patch
@@ -238,7 +238,7 @@ Reviewed-by: Daniel Baluta <daniel.baluta at nxp.com>
  struct fsl_sai {
  	struct platform_device *pdev;
  	struct regmap *regmap;
-@@ -212,6 +266,9 @@ struct fsl_sai {
+@@ -213,6 +267,9 @@ struct fsl_sai {
  	struct pm_qos_request pm_qos_req;
  	struct pinctrl *pinctrl;
  	struct pinctrl_state *pins_state;
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0052-MLK-18682-1-ASoC-fsl-sai-use-set_bclk_ratio-to-calcu.patch b/target/linux/layerscape/patches-5.4/801-audio-0052-MLK-18682-1-ASoC-fsl-sai-use-set_bclk_ratio-to-calcu.patch
index 7c3685f654..281974fc6b 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0052-MLK-18682-1-ASoC-fsl-sai-use-set_bclk_ratio-to-calcu.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0052-MLK-18682-1-ASoC-fsl-sai-use-set_bclk_ratio-to-calcu.patch
@@ -94,5 +94,5 @@ Signed-off-by: Dong Aisheng <aisheng.dong at nxp.com>
 -	unsigned int bitclk_freq;
 +	unsigned int bitclk_ratio;
  
+ 	struct snd_soc_dai_driver cpu_dai_drv;
  	struct snd_dmaengine_dai_dma_data dma_params_rx;
- 	struct snd_dmaengine_dai_dma_data dma_params_tx;
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0062-ASoC-fsl-sai-fix-build-failture-due-to-5.1-RC7-upgra.patch b/target/linux/layerscape/patches-5.4/801-audio-0062-ASoC-fsl-sai-fix-build-failture-due-to-5.1-RC7-upgra.patch
index 3f92c2185c..061b8e0342 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0062-ASoC-fsl-sai-fix-build-failture-due-to-5.1-RC7-upgra.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0062-ASoC-fsl-sai-fix-build-failture-due-to-5.1-RC7-upgra.patch
@@ -25,7 +25,7 @@ Signed-off-by: Dong Aisheng <aisheng.dong at nxp.com>
  		break;
  	case SND_SOC_DAIFMT_CBM_CFS:
  		val_cr4 |= FSL_SAI_CR4_FSD_MSTR;
-@@ -1572,14 +1570,6 @@ static int fsl_sai_remove(struct platfor
+@@ -1575,14 +1573,6 @@ static int fsl_sai_remove(struct platfor
  	return 0;
  }
  
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0064-ASoC-fsl_sai-Mark-cache-dirty-at-resume.patch b/target/linux/layerscape/patches-5.4/801-audio-0064-ASoC-fsl_sai-Mark-cache-dirty-at-resume.patch
index 3fd3554985..9dcab4e3bc 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0064-ASoC-fsl_sai-Mark-cache-dirty-at-resume.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0064-ASoC-fsl_sai-Mark-cache-dirty-at-resume.patch
@@ -17,7 +17,7 @@ Signed-off-by: Daniel Baluta <daniel.baluta at nxp.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -1614,6 +1614,8 @@ static int fsl_sai_runtime_resume(struct
+@@ -1617,6 +1617,8 @@ static int fsl_sai_runtime_resume(struct
  				PM_QOS_CPU_DMA_LATENCY, 0);
  
  	regcache_cache_only(sai->regmap, false);
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0065-LF-106-ASoC-fsl_sai-request-BUS_FREQ_AUDIO.patch b/target/linux/layerscape/patches-5.4/801-audio-0065-LF-106-ASoC-fsl_sai-request-BUS_FREQ_AUDIO.patch
index ed0afdbac8..76b7b607ed 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0065-LF-106-ASoC-fsl_sai-request-BUS_FREQ_AUDIO.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0065-LF-106-ASoC-fsl_sai-request-BUS_FREQ_AUDIO.patch
@@ -20,7 +20,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang at nxp.com>
  
  #include "fsl_dsd.h"
  #include "fsl_sai.h"
-@@ -1568,6 +1569,8 @@ static int fsl_sai_runtime_suspend(struc
+@@ -1571,6 +1572,8 @@ static int fsl_sai_runtime_suspend(struc
  
  	regcache_cache_only(sai->regmap, true);
  
@@ -29,7 +29,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang at nxp.com>
  	if (sai->mclk_streams & BIT(SNDRV_PCM_STREAM_CAPTURE))
  		clk_disable_unprepare(sai->mclk_clk[sai->mclk_id[0]]);
  
-@@ -1609,6 +1612,8 @@ static int fsl_sai_runtime_resume(struct
+@@ -1612,6 +1615,8 @@ static int fsl_sai_runtime_resume(struct
  			goto disable_tx_clk;
  	}
  
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0071-MLK-21957-2-ASoC-fsl_sai-read-SAI-version-and-params.patch b/target/linux/layerscape/patches-5.4/801-audio-0071-MLK-21957-2-ASoC-fsl_sai-read-SAI-version-and-params.patch
index 005f4b507f..c400f7a5f6 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0071-MLK-21957-2-ASoC-fsl_sai-read-SAI-version-and-params.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0071-MLK-21957-2-ASoC-fsl_sai-read-SAI-version-and-params.patch
@@ -79,7 +79,7 @@ Signed-off-by: Viorel Suman <viorel.suman at nxp.com>
  	for (id = 0; id < FSL_SAI_MCLK_MAX; id++) {
  		clk_rate = clk_get_rate(sai->mclk_clk[id]);
  		if (!clk_rate)
-@@ -1517,6 +1523,10 @@ static int fsl_sai_probe(struct platform
+@@ -1520,6 +1526,10 @@ static int fsl_sai_probe(struct platform
  
  	platform_set_drvdata(pdev, sai);
  
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0073-MLK-21957-3-ASoC-fsl_sai-add-bitcount-and-timestamp-.patch b/target/linux/layerscape/patches-5.4/801-audio-0073-MLK-21957-3-ASoC-fsl_sai-add-bitcount-and-timestamp-.patch
index 0bee583390..92de8196ee 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0073-MLK-21957-3-ASoC-fsl_sai-add-bitcount-and-timestamp-.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0073-MLK-21957-3-ASoC-fsl_sai-add-bitcount-and-timestamp-.patch
@@ -109,7 +109,7 @@ Signed-off-by: Viorel Suman <viorel.suman at nxp.com>
 @@ -1030,6 +1114,7 @@ static int fsl_sai_dai_resume(struct snd
  }
  
- static struct snd_soc_dai_driver fsl_sai_dai = {
+ static struct snd_soc_dai_driver fsl_sai_dai_template = {
 +	.pcm_new = fsl_sai_pcm_new,
  	.probe = fsl_sai_dai_probe,
  	.playback = {
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0074-ASoC-fsl_sai-fix-build-issue-of-incomplete-parenthes.patch b/target/linux/layerscape/patches-5.4/801-audio-0074-ASoC-fsl_sai-fix-build-issue-of-incomplete-parenthes.patch
index a511504f68..e9083294dd 100644
--- a/target/linux/layerscape/patches-5.4/801-audio-0074-ASoC-fsl_sai-fix-build-issue-of-incomplete-parenthes.patch
+++ b/target/linux/layerscape/patches-5.4/801-audio-0074-ASoC-fsl_sai-fix-build-issue-of-incomplete-parenthes.patch
@@ -13,7 +13,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu at nxp.com>
 
 --- a/sound/soc/fsl/fsl_sai.c
 +++ b/sound/soc/fsl/fsl_sai.c
-@@ -1631,7 +1631,7 @@ static int fsl_sai_probe(struct platform
+@@ -1634,7 +1634,7 @@ static int fsl_sai_probe(struct platform
  	if (ret)
  		goto err_pm_disable;
  
diff --git a/target/linux/layerscape/patches-5.4/802-can-0007-can-flexcan-use-devm_platform_ioremap_resource-to-si.patch b/target/linux/layerscape/patches-5.4/802-can-0007-can-flexcan-use-devm_platform_ioremap_resource-to-si.patch
index 5d88a58073..b576cec2f4 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0007-can-flexcan-use-devm_platform_ioremap_resource-to-si.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0007-can-flexcan-use-devm_platform_ioremap_resource-to-si.patch
@@ -17,7 +17,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
 
 --- a/drivers/net/can/flexcan.c
 +++ b/drivers/net/can/flexcan.c
-@@ -1548,7 +1548,6 @@ static int flexcan_probe(struct platform
+@@ -1570,7 +1570,6 @@ static int flexcan_probe(struct platform
  	struct net_device *dev;
  	struct flexcan_priv *priv;
  	struct regulator *reg_xceiver;
@@ -25,7 +25,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  	struct clk *clk_ipg = NULL, *clk_per = NULL;
  	struct flexcan_regs __iomem *regs;
  	int err, irq;
-@@ -1583,12 +1582,11 @@ static int flexcan_probe(struct platform
+@@ -1605,12 +1604,11 @@ static int flexcan_probe(struct platform
  		clock_freq = clk_get_rate(clk_per);
  	}
  
diff --git a/target/linux/layerscape/patches-5.4/802-can-0009-can-flexcan-rename-macro-FLEXCAN_IFLAG_MB-FLEXCAN_IF.patch b/target/linux/layerscape/patches-5.4/802-can-0009-can-flexcan-rename-macro-FLEXCAN_IFLAG_MB-FLEXCAN_IF.patch
index d67fc9c1c4..c6960bace1 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0009-can-flexcan-rename-macro-FLEXCAN_IFLAG_MB-FLEXCAN_IF.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0009-can-flexcan-rename-macro-FLEXCAN_IFLAG_MB-FLEXCAN_IF.patch
@@ -50,7 +50,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  		netif_wake_queue(dev);
  	}
  
-@@ -1299,7 +1299,7 @@ static int flexcan_open(struct net_devic
+@@ -1321,7 +1321,7 @@ static int flexcan_open(struct net_devic
  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);
  
  	priv->reg_imask1_default = 0;
diff --git a/target/linux/layerscape/patches-5.4/802-can-0011-can-flexcan-rename-struct-flexcan_priv-reg_imask-1-2.patch b/target/linux/layerscape/patches-5.4/802-can-0011-can-flexcan-rename-struct-flexcan_priv-reg_imask-1-2.patch
index 12030a2897..f8ea725512 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0011-can-flexcan-rename-struct-flexcan_priv-reg_imask-1-2.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0011-can-flexcan-rename-struct-flexcan_priv-reg_imask-1-2.patch
@@ -72,7 +72,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  	enable_irq(dev->irq);
  
  	/* print chip status */
-@@ -1298,8 +1298,8 @@ static int flexcan_open(struct net_devic
+@@ -1320,8 +1320,8 @@ static int flexcan_open(struct net_devic
  	priv->tx_mb_idx = priv->mb_count - 1;
  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);
  
@@ -83,7 +83,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  
  	priv->offload.mailbox_read = flexcan_mailbox_read;
  
-@@ -1311,12 +1311,12 @@ static int flexcan_open(struct net_devic
+@@ -1333,12 +1333,12 @@ static int flexcan_open(struct net_devic
  
  		imask = GENMASK_ULL(priv->offload.mb_last,
  				    priv->offload.mb_first);
diff --git a/target/linux/layerscape/patches-5.4/802-can-0012-can-flexcan-remove-TX-mailbox-bit-from-struct-flexca.patch b/target/linux/layerscape/patches-5.4/802-can-0012-can-flexcan-remove-TX-mailbox-bit-from-struct-flexca.patch
index a066764a47..ef8fd9d837 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0012-can-flexcan-remove-TX-mailbox-bit-from-struct-flexca.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0012-can-flexcan-remove-TX-mailbox-bit-from-struct-flexca.patch
@@ -43,7 +43,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  	enable_irq(dev->irq);
  
  	/* print chip status */
-@@ -1298,9 +1297,6 @@ static int flexcan_open(struct net_devic
+@@ -1320,9 +1319,6 @@ static int flexcan_open(struct net_devic
  	priv->tx_mb_idx = priv->mb_count - 1;
  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);
  
@@ -53,7 +53,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  	priv->offload.mailbox_read = flexcan_mailbox_read;
  
  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
-@@ -1311,12 +1307,12 @@ static int flexcan_open(struct net_devic
+@@ -1333,12 +1329,12 @@ static int flexcan_open(struct net_devic
  
  		imask = GENMASK_ULL(priv->offload.mb_last,
  				    priv->offload.mb_first);
diff --git a/target/linux/layerscape/patches-5.4/802-can-0013-can-flexcan-convert-struct-flexcan_priv-rx_mask-1-2-.patch b/target/linux/layerscape/patches-5.4/802-can-0013-can-flexcan-convert-struct-flexcan_priv-rx_mask-1-2-.patch
index 8cf6215e2a..c52da3a143 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0013-can-flexcan-convert-struct-flexcan_priv-rx_mask-1-2-.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0013-can-flexcan-convert-struct-flexcan_priv-rx_mask-1-2-.patch
@@ -82,7 +82,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  	enable_irq(dev->irq);
  
  	/* print chip status */
-@@ -1300,19 +1301,14 @@ static int flexcan_open(struct net_devic
+@@ -1322,19 +1323,14 @@ static int flexcan_open(struct net_devic
  	priv->offload.mailbox_read = flexcan_mailbox_read;
  
  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
diff --git a/target/linux/layerscape/patches-5.4/802-can-0014-can-flexcan-introduce-struct-flexcan_priv-tx_mask-an.patch b/target/linux/layerscape/patches-5.4/802-can-0014-can-flexcan-introduce-struct-flexcan_priv-tx_mask-an.patch
index 3df5afd815..b724dc435c 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0014-can-flexcan-introduce-struct-flexcan_priv-tx_mask-an.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0014-can-flexcan-introduce-struct-flexcan_priv-tx_mask-an.patch
@@ -80,7 +80,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  	priv->write(upper_32_bits(reg_imask), &regs->imask2);
  	priv->write(lower_32_bits(reg_imask), &regs->imask1);
  	enable_irq(dev->irq);
-@@ -1297,6 +1298,7 @@ static int flexcan_open(struct net_devic
+@@ -1319,6 +1320,7 @@ static int flexcan_open(struct net_devic
  			flexcan_get_mb(priv, FLEXCAN_TX_MB_RESERVED_OFF_FIFO);
  	priv->tx_mb_idx = priv->mb_count - 1;
  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx);
diff --git a/target/linux/layerscape/patches-5.4/802-can-0019-can-flexcan-add-CAN-FD-mode-support.patch b/target/linux/layerscape/patches-5.4/802-can-0019-can-flexcan-add-CAN-FD-mode-support.patch
index f762ed6392..e9c8740e6b 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0019-can-flexcan-add-CAN-FD-mode-support.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0019-can-flexcan-add-CAN-FD-mode-support.patch
@@ -351,7 +351,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  	if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) {
  		reg_ctrl2 = priv->read(&regs->ctrl2);
  		reg_ctrl2 |= FLEXCAN_CTRL2_EACEN | FLEXCAN_CTRL2_RRS;
-@@ -1288,6 +1456,12 @@ static int flexcan_open(struct net_devic
+@@ -1310,6 +1478,12 @@ static int flexcan_open(struct net_devic
  	struct flexcan_priv *priv = netdev_priv(dev);
  	int err;
  
@@ -364,7 +364,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  	err = pm_runtime_get_sync(priv->dev);
  	if (err < 0)
  		return err;
-@@ -1300,7 +1474,10 @@ static int flexcan_open(struct net_devic
+@@ -1322,7 +1496,10 @@ static int flexcan_open(struct net_devic
  	if (err)
  		goto out_close;
  
@@ -376,7 +376,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  	priv->mb_count = (sizeof(priv->regs->mb[0]) / priv->mb_size) +
  			 (sizeof(priv->regs->mb[1]) / priv->mb_size);
  
-@@ -1645,6 +1822,18 @@ static int flexcan_probe(struct platform
+@@ -1667,6 +1844,18 @@ static int flexcan_probe(struct platform
  	priv->devtype_data = devtype_data;
  	priv->reg_xceiver = reg_xceiver;
  
diff --git a/target/linux/layerscape/patches-5.4/802-can-0021-can-flexcan-add-ISO-CAN-FD-feature-support.patch b/target/linux/layerscape/patches-5.4/802-can-0021-can-flexcan-add-ISO-CAN-FD-feature-support.patch
index df95f05094..2c3452b0d1 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0021-can-flexcan-add-ISO-CAN-FD-feature-support.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0021-can-flexcan-add-ISO-CAN-FD-feature-support.patch
@@ -54,7 +54,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  	}
  
  	if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) {
-@@ -1831,7 +1837,7 @@ static int flexcan_probe(struct platform
+@@ -1853,7 +1859,7 @@ static int flexcan_probe(struct platform
  
  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_TIMESTAMP_SUPPORT_FD) {
  		if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
diff --git a/target/linux/layerscape/patches-5.4/802-can-0023-can-flexcan-add-imx8qm-support.patch b/target/linux/layerscape/patches-5.4/802-can-0023-can-flexcan-add-imx8qm-support.patch
index 569026398e..3c86456922 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0023-can-flexcan-add-imx8qm-support.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0023-can-flexcan-add-imx8qm-support.patch
@@ -52,7 +52,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  static const struct flexcan_devtype_data fsl_vf610_devtype_data = {
  	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
  		FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_USE_OFF_TIMESTAMP |
-@@ -1738,6 +1745,7 @@ out_put_node:
+@@ -1760,6 +1767,7 @@ out_put_node:
  }
  
  static const struct of_device_id flexcan_of_match[] = {
diff --git a/target/linux/layerscape/patches-5.4/802-can-0024-can-flexcan-add-lx2160ar1-support.patch b/target/linux/layerscape/patches-5.4/802-can-0024-can-flexcan-add-lx2160ar1-support.patch
index aeb6a1c48c..0c9dc7d142 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0024-can-flexcan-add-lx2160ar1-support.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0024-can-flexcan-add-lx2160ar1-support.patch
@@ -35,7 +35,7 @@ Signed-off-by: Marc Kleine-Budde <mkl at pengutronix.de>
  static const struct flexcan_devtype_data fsl_ls1021a_r2_devtype_data = {
  	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
  		FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_BROKEN_PERR_STATE |
-@@ -1754,6 +1761,7 @@ static const struct of_device_id flexcan
+@@ -1776,6 +1783,7 @@ static const struct of_device_id flexcan
  	{ .compatible = "fsl,p1010-flexcan", .data = &fsl_p1010_devtype_data, },
  	{ .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, },
  	{ .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, },
diff --git a/target/linux/layerscape/patches-5.4/802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch b/target/linux/layerscape/patches-5.4/802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch
index afb5557702..96c25e5cd9 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch
@@ -28,7 +28,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang at nxp.com>
  #include <linux/regmap.h>
  
  #define DRV_NAME			"flexcan"
-@@ -1920,7 +1921,7 @@ static int __maybe_unused flexcan_suspen
+@@ -1942,7 +1943,7 @@ static int __maybe_unused flexcan_suspen
  {
  	struct net_device *dev = dev_get_drvdata(device);
  	struct flexcan_priv *priv = netdev_priv(dev);
@@ -37,7 +37,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang at nxp.com>
  
  	if (netif_running(dev)) {
  		/* if wakeup is enabled, enter stop mode
-@@ -1932,25 +1933,27 @@ static int __maybe_unused flexcan_suspen
+@@ -1954,25 +1955,27 @@ static int __maybe_unused flexcan_suspen
  			if (err)
  				return err;
  		} else {
@@ -69,7 +69,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang at nxp.com>
  
  	priv->can.state = CAN_STATE_ERROR_ACTIVE;
  	if (netif_running(dev)) {
-@@ -1962,15 +1965,19 @@ static int __maybe_unused flexcan_resume
+@@ -1984,15 +1987,19 @@ static int __maybe_unused flexcan_resume
  			if (err)
  				return err;
  		} else {
diff --git a/target/linux/layerscape/patches-5.4/802-can-0027-can-flexcan-add-CAN-wakeup-function-for-i.MX8.patch b/target/linux/layerscape/patches-5.4/802-can-0027-can-flexcan-add-CAN-wakeup-function-for-i.MX8.patch
index bf0eac482d..06fd55aaa8 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0027-can-flexcan-add-CAN-wakeup-function-for-i.MX8.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0027-can-flexcan-add-CAN-wakeup-function-for-i.MX8.patch
@@ -126,7 +126,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang at nxp.com>
  
  
  	reg_mcr = priv->read(&regs->mcr);
-@@ -1745,11 +1789,6 @@ static int flexcan_setup_stop_mode(struc
+@@ -1767,11 +1811,6 @@ static int flexcan_setup_stop_mode(struc
  		gpr_np->full_name, priv->stm.req_gpr, priv->stm.req_bit,
  		priv->stm.ack_gpr, priv->stm.ack_bit);
  
@@ -138,7 +138,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang at nxp.com>
  	return 0;
  
  out_put_node:
-@@ -1757,6 +1796,30 @@ out_put_node:
+@@ -1779,6 +1818,30 @@ out_put_node:
  	return ret;
  }
  
@@ -169,7 +169,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang at nxp.com>
  static const struct of_device_id flexcan_of_match[] = {
  	{ .compatible = "fsl,imx8qm-flexcan", .data = &fsl_imx8qm_devtype_data, },
  	{ .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, },
-@@ -1899,9 +1962,19 @@ static int flexcan_probe(struct platform
+@@ -1921,9 +1984,19 @@ static int flexcan_probe(struct platform
  	devm_can_led_init(dev);
  
  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_SETUP_STOP_MODE) {
diff --git a/target/linux/layerscape/patches-5.4/802-can-0028-can-flexcan-Add-S32V234-support-to-FlexCAN-driver.patch b/target/linux/layerscape/patches-5.4/802-can-0028-can-flexcan-Add-S32V234-support-to-FlexCAN-driver.patch
index 0474969cae..0c631356f7 100644
--- a/target/linux/layerscape/patches-5.4/802-can-0028-can-flexcan-Add-S32V234-support-to-FlexCAN-driver.patch
+++ b/target/linux/layerscape/patches-5.4/802-can-0028-can-flexcan-Add-S32V234-support-to-FlexCAN-driver.patch
@@ -36,7 +36,7 @@ Reviewed-by: Leonard Crestez <leonard.crestez at nxp.com>
  static const struct can_bittiming_const flexcan_bittiming_const = {
  	.name = DRV_NAME,
  	.tseg1_min = 4,
-@@ -1831,6 +1836,8 @@ static const struct of_device_id flexcan
+@@ -1853,6 +1858,8 @@ static const struct of_device_id flexcan
  	{ .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, },
  	{ .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, },
  	{ .compatible = "fsl,lx2160ar1-flexcan", .data = &fsl_lx2160a_r1_devtype_data, },
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0014-MLK-9769-8-crypto-caam-add-a-test-for-the-RNG.patch b/target/linux/layerscape/patches-5.4/804-crypto-0014-MLK-9769-8-crypto-caam-add-a-test-for-the-RNG.patch
index b5a4bf1b2d..3a9174557e 100644
--- a/target/linux/layerscape/patches-5.4/804-crypto-0014-MLK-9769-8-crypto-caam-add-a-test-for-the-RNG.patch
+++ b/target/linux/layerscape/patches-5.4/804-crypto-0014-MLK-9769-8-crypto-caam-add-a-test-for-the-RNG.patch
@@ -28,7 +28,7 @@ Signed-off-by: Horia Geantă <horia.geanta at nxp.com>
 
 --- a/drivers/crypto/caam/Kconfig
 +++ b/drivers/crypto/caam/Kconfig
-@@ -147,6 +147,14 @@ config CRYPTO_DEV_FSL_CAAM_RNG_API
+@@ -148,6 +148,14 @@ config CRYPTO_DEV_FSL_CAAM_RNG_API
  	  Selecting this will register the SEC4 hardware rng to
  	  the hw_random API for suppying the kernel entropy pool.
  
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0019-MLKU-38-3-crypto-caam-add-SNVS-SECVIO-support.patch b/target/linux/layerscape/patches-5.4/804-crypto-0019-MLKU-38-3-crypto-caam-add-SNVS-SECVIO-support.patch
index 4ad7a7e5ec..fc48884cd1 100644
--- a/target/linux/layerscape/patches-5.4/804-crypto-0019-MLKU-38-3-crypto-caam-add-SNVS-SECVIO-support.patch
+++ b/target/linux/layerscape/patches-5.4/804-crypto-0019-MLKU-38-3-crypto-caam-add-SNVS-SECVIO-support.patch
@@ -67,7 +67,7 @@ Signed-off-by: Horia Geantă <horia.geanta at nxp.com>
 
 --- a/drivers/crypto/caam/Kconfig
 +++ b/drivers/crypto/caam/Kconfig
-@@ -155,6 +155,13 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST
+@@ -156,6 +156,13 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST
  	  caam RNG. This test is several minutes long and executes
  	  just before the RNG is registered with the hw_random API.
  
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0020-MLKU-25-3-crypto-caam-add-Secure-Memory-support.patch b/target/linux/layerscape/patches-5.4/804-crypto-0020-MLKU-25-3-crypto-caam-add-Secure-Memory-support.patch
index 697f24bb07..91f1cebd55 100644
--- a/target/linux/layerscape/patches-5.4/804-crypto-0020-MLKU-25-3-crypto-caam-add-Secure-Memory-support.patch
+++ b/target/linux/layerscape/patches-5.4/804-crypto-0020-MLKU-25-3-crypto-caam-add-Secure-Memory-support.patch
@@ -91,7 +91,7 @@ Signed-off-by: Horia Geantă <horia.geanta at nxp.com>
 
 --- a/drivers/crypto/caam/Kconfig
 +++ b/drivers/crypto/caam/Kconfig
-@@ -155,6 +155,36 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST
+@@ -156,6 +156,36 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST
  	  caam RNG. This test is several minutes long and executes
  	  just before the RNG is registered with the hw_random API.
  
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0021-MLK-19801-1-crypto-caam-add-tag-functionality.patch b/target/linux/layerscape/patches-5.4/804-crypto-0021-MLK-19801-1-crypto-caam-add-tag-functionality.patch
index cb2477c2e5..11d267354d 100644
--- a/target/linux/layerscape/patches-5.4/804-crypto-0021-MLK-19801-1-crypto-caam-add-tag-functionality.patch
+++ b/target/linux/layerscape/patches-5.4/804-crypto-0021-MLK-19801-1-crypto-caam-add-tag-functionality.patch
@@ -44,7 +44,7 @@ Signed-off-by: Horia Geantă <horia.geanta at nxp.com>
 
 --- a/drivers/crypto/caam/Kconfig
 +++ b/drivers/crypto/caam/Kconfig
-@@ -147,6 +147,16 @@ config CRYPTO_DEV_FSL_CAAM_RNG_API
+@@ -148,6 +148,16 @@ config CRYPTO_DEV_FSL_CAAM_RNG_API
  	  Selecting this will register the SEC4 hardware rng to
  	  the hw_random API for suppying the kernel entropy pool.
  
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0028-crypto-caam-qi-add-support-for-TLS-1.0-record.patch b/target/linux/layerscape/patches-5.4/804-crypto-0028-crypto-caam-qi-add-support-for-TLS-1.0-record.patch
index 162f89a19a..967266ea4a 100644
--- a/target/linux/layerscape/patches-5.4/804-crypto-0028-crypto-caam-qi-add-support-for-TLS-1.0-record.patch
+++ b/target/linux/layerscape/patches-5.4/804-crypto-0028-crypto-caam-qi-add-support-for-TLS-1.0-record.patch
@@ -485,7 +485,7 @@ Signed-off-by: Radu Alexe <radu.alexe at nxp.com>
  			   const bool is_qi);
 --- a/drivers/crypto/caam/caamalg_qi.c
 +++ b/drivers/crypto/caam/caamalg_qi.c
-@@ -290,6 +290,167 @@ static int des3_aead_setkey(struct crypt
+@@ -296,6 +296,167 @@ static int des3_aead_setkey(struct crypt
  	return err;
  }
  
@@ -653,7 +653,7 @@ Signed-off-by: Radu Alexe <radu.alexe at nxp.com>
  static int gcm_set_sh_desc(struct crypto_aead *aead)
  {
  	struct caam_ctx *ctx = crypto_aead_ctx(aead);
-@@ -809,6 +970,29 @@ struct aead_edesc {
+@@ -820,6 +981,29 @@ struct aead_edesc {
  };
  
  /*
@@ -683,7 +683,7 @@ Signed-off-by: Radu Alexe <radu.alexe at nxp.com>
   * skcipher_edesc - s/w-extended skcipher descriptor
   * @src_nents: number of segments in input scatterlist
   * @dst_nents: number of segments in output scatterlist
-@@ -900,6 +1084,18 @@ static void aead_unmap(struct device *de
+@@ -911,6 +1095,18 @@ static void aead_unmap(struct device *de
  	dma_unmap_single(dev, edesc->assoclen_dma, 4, DMA_TO_DEVICE);
  }
  
@@ -702,7 +702,7 @@ Signed-off-by: Radu Alexe <radu.alexe at nxp.com>
  static void skcipher_unmap(struct device *dev, struct skcipher_edesc *edesc,
  			   struct skcipher_request *req)
  {
-@@ -1192,6 +1388,243 @@ static int aead_decrypt(struct aead_requ
+@@ -1203,6 +1399,243 @@ static int aead_decrypt(struct aead_requ
  	return aead_crypt(req, false);
  }
  
@@ -946,7 +946,7 @@ Signed-off-by: Radu Alexe <radu.alexe at nxp.com>
  static int ipsec_gcm_encrypt(struct aead_request *req)
  {
  	return crypto_ipsec_check_assoclen(req->assoclen) ? : aead_crypt(req,
-@@ -2411,6 +2844,26 @@ static struct caam_aead_alg driver_aeads
+@@ -2446,6 +2879,26 @@ static struct caam_aead_alg driver_aeads
  			.geniv = true,
  		}
  	},
@@ -973,7 +973,7 @@ Signed-off-by: Radu Alexe <radu.alexe at nxp.com>
  };
  
  static int caam_init_common(struct caam_ctx *ctx, struct caam_alg_entry *caam,
-@@ -2418,6 +2871,16 @@ static int caam_init_common(struct caam_
+@@ -2453,6 +2906,16 @@ static int caam_init_common(struct caam_
  {
  	struct caam_drv_private *priv;
  	struct device *dev;
@@ -990,7 +990,7 @@ Signed-off-by: Radu Alexe <radu.alexe at nxp.com>
  
  	/*
  	 * distribute tfms across job rings to ensure in-order
-@@ -2449,6 +2912,21 @@ static int caam_init_common(struct caam_
+@@ -2484,6 +2947,21 @@ static int caam_init_common(struct caam_
  	ctx->adata.algtype = OP_TYPE_CLASS2_ALG | caam->class2_alg_type;
  
  	ctx->qidev = dev;
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0032-crypto-caam-add-CAAM-job-ring-UIO-support.patch b/target/linux/layerscape/patches-5.4/804-crypto-0032-crypto-caam-add-CAAM-job-ring-UIO-support.patch
index 469fb2e362..56566ffad9 100644
--- a/target/linux/layerscape/patches-5.4/804-crypto-0032-crypto-caam-add-CAAM-job-ring-UIO-support.patch
+++ b/target/linux/layerscape/patches-5.4/804-crypto-0032-crypto-caam-add-CAAM-job-ring-UIO-support.patch
@@ -20,7 +20,7 @@ Signed-off-by: Gagandeep Singh <g.singh at nxp.com>
 
 --- a/drivers/crypto/caam/Kconfig
 +++ b/drivers/crypto/caam/Kconfig
-@@ -202,6 +202,17 @@ config CRYPTO_DEV_FSL_CAAM_SECVIO
+@@ -203,6 +203,17 @@ config CRYPTO_DEV_FSL_CAAM_SECVIO
            handler functions which can be specified to act on the consequences
            of a security violation.
  
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0033-LFV-26-crypto-caam-fix-Secure-Memory-driver-init.patch b/target/linux/layerscape/patches-5.4/804-crypto-0033-LFV-26-crypto-caam-fix-Secure-Memory-driver-init.patch
index 8bece63710..53de880d75 100644
--- a/target/linux/layerscape/patches-5.4/804-crypto-0033-LFV-26-crypto-caam-fix-Secure-Memory-driver-init.patch
+++ b/target/linux/layerscape/patches-5.4/804-crypto-0033-LFV-26-crypto-caam-fix-Secure-Memory-driver-init.patch
@@ -33,7 +33,7 @@ Reviewed-by: Iuliana Prodan <iuliana.prodan at nxp.com>
 
 --- a/drivers/crypto/caam/Kconfig
 +++ b/drivers/crypto/caam/Kconfig
-@@ -166,7 +166,7 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST
+@@ -167,7 +167,7 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST
  	  just before the RNG is registered with the hw_random API.
  
  config CRYPTO_DEV_FSL_CAAM_SM
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0034-LF-63-1-crypto-caam-fix-SM-test-init.patch b/target/linux/layerscape/patches-5.4/804-crypto-0034-LF-63-1-crypto-caam-fix-SM-test-init.patch
index 04c14ca927..7e3299ec94 100644
--- a/target/linux/layerscape/patches-5.4/804-crypto-0034-LF-63-1-crypto-caam-fix-SM-test-init.patch
+++ b/target/linux/layerscape/patches-5.4/804-crypto-0034-LF-63-1-crypto-caam-fix-SM-test-init.patch
@@ -46,7 +46,7 @@ Acked-by: Leonard Crestez <leonard.crestez at nxp.com>
 
 --- a/drivers/crypto/caam/Kconfig
 +++ b/drivers/crypto/caam/Kconfig
-@@ -190,6 +190,7 @@ config CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE
+@@ -191,6 +191,7 @@ config CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE
  config CRYPTO_DEV_FSL_CAAM_SM_TEST
  	tristate "CAAM Secure Memory - Keystore Test/Example (EXPERIMENTAL)"
  	depends on CRYPTO_DEV_FSL_CAAM_SM
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 d01ee99a55..1175efa432 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
-@@ -2020,6 +2020,7 @@ static inline void pcibios_penalize_isa_
+@@ -2021,6 +2021,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/818-thermal-0004-thermal-qoriq-Update-the-settings-for-TMUv2.patch b/target/linux/layerscape/patches-5.4/818-thermal-0004-thermal-qoriq-Update-the-settings-for-TMUv2.patch
index 9534bdc3dd..5b90b63aa4 100644
--- a/target/linux/layerscape/patches-5.4/818-thermal-0004-thermal-qoriq-Update-the-settings-for-TMUv2.patch
+++ b/target/linux/layerscape/patches-5.4/818-thermal-0004-thermal-qoriq-Update-the-settings-for-TMUv2.patch
@@ -13,8 +13,6 @@ Signed-off-by: Yuantian Tang <andy.tang at nxp.com>
  drivers/thermal/qoriq_thermal.c | 21 +++++++++++++++++++--
  1 file changed, 19 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c
-index ba7d6105a..8b371fd3d 100644
 --- a/drivers/thermal/qoriq_thermal.c
 +++ b/drivers/thermal/qoriq_thermal.c
 @@ -23,6 +23,7 @@
@@ -50,7 +48,7 @@ index ba7d6105a..8b371fd3d 100644
  	u32 ipbrr0;		/* IP Block Revision Register 0 */
  	u32 ipbrr1;		/* IP Block Revision Register 1 */
  	u8 res8[0x300];
-@@ -158,7 +168,10 @@ static int tmu_get_temp(void *p, int *temp)
+@@ -158,7 +168,10 @@ static int tmu_get_temp(void *p, int *te
  	u32 val;
  
  	val = tmu_read(qdata, &qdata->regs->site[qsensor->id].tritsr);
@@ -62,7 +60,7 @@ index ba7d6105a..8b371fd3d 100644
  
  	return 0;
  }
-@@ -319,6 +332,8 @@ static int qoriq_tmu_calibration(struct platform_device *pdev)
+@@ -319,6 +332,8 @@ static int qoriq_tmu_calibration(struct
  
  static void qoriq_tmu_init_device(struct qoriq_tmu_data *data)
  {
@@ -71,7 +69,7 @@ index ba7d6105a..8b371fd3d 100644
  	/* Disable interrupt, using polling instead */
  	tmu_write(data, TIER_DISABLE, &data->regs->tier);
  
-@@ -328,6 +343,8 @@ static void qoriq_tmu_init_device(struct qoriq_tmu_data *data)
+@@ -328,6 +343,8 @@ static void qoriq_tmu_init_device(struct
  	} else {
  		tmu_write(data, TMTMIR_DEFAULT, &data->regs_v2->tmtmir);
  		tmu_write(data, TEUMR0_V2, &data->regs_v2->teumr0);
@@ -80,6 +78,3 @@ index ba7d6105a..8b371fd3d 100644
  	}
  
  	/* Disable monitoring */
--- 
-2.17.1
-
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0001-tty-serial-lpuart-add-power-domain-support.patch b/target/linux/layerscape/patches-5.4/819-uart-0001-tty-serial-lpuart-add-power-domain-support.patch
index bad4128bf5..aa14f17500 100644
--- a/target/linux/layerscape/patches-5.4/819-uart-0001-tty-serial-lpuart-add-power-domain-support.patch
+++ b/target/linux/layerscape/patches-5.4/819-uart-0001-tty-serial-lpuart-add-power-domain-support.patch
@@ -27,7 +27,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  #include <linux/serial_core.h>
  #include <linux/slab.h>
  #include <linux/tty_flip.h>
-@@ -2369,6 +2371,54 @@ static struct uart_driver lpuart_reg = {
+@@ -2367,6 +2369,54 @@ static struct uart_driver lpuart_reg = {
  	.cons		= LPUART_CONSOLE,
  };
  
@@ -82,7 +82,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  static int lpuart_probe(struct platform_device *pdev)
  {
  	const struct of_device_id *of_id = of_match_device(lpuart_dt_ids,
-@@ -2406,6 +2456,10 @@ static int lpuart_probe(struct platform_
+@@ -2404,6 +2454,10 @@ static int lpuart_probe(struct platform_
  
  	sport->port.rs485_config = lpuart_config_rs485;
  
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0002-tty-serial-fsl_lpuart-add-modem-device-reset.patch b/target/linux/layerscape/patches-5.4/819-uart-0002-tty-serial-fsl_lpuart-add-modem-device-reset.patch
index 37fd23d205..9f409a1fab 100644
--- a/target/linux/layerscape/patches-5.4/819-uart-0002-tty-serial-fsl_lpuart-add-modem-device-reset.patch
+++ b/target/linux/layerscape/patches-5.4/819-uart-0002-tty-serial-fsl_lpuart-add-modem-device-reset.patch
@@ -20,7 +20,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  #include <linux/serial_core.h>
  #include <linux/slab.h>
  #include <linux/tty_flip.h>
-@@ -1544,8 +1545,17 @@ static void lpuart32_configure(struct lp
+@@ -1542,8 +1543,17 @@ static void lpuart32_configure(struct lp
  static int lpuart32_startup(struct uart_port *port)
  {
  	struct lpuart_port *sport = container_of(port, struct lpuart_port, port);
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0003-tty-serial-fsl_lpuart-add-magic-SysRq-support.patch b/target/linux/layerscape/patches-5.4/819-uart-0003-tty-serial-fsl_lpuart-add-magic-SysRq-support.patch
index 043d246110..bb94b02476 100644
--- a/target/linux/layerscape/patches-5.4/819-uart-0003-tty-serial-fsl_lpuart-add-magic-SysRq-support.patch
+++ b/target/linux/layerscape/patches-5.4/819-uart-0003-tty-serial-fsl_lpuart-add-magic-SysRq-support.patch
@@ -12,7 +12,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
 
 --- a/drivers/tty/serial/fsl_lpuart.c
 +++ b/drivers/tty/serial/fsl_lpuart.c
-@@ -920,7 +920,12 @@ static void lpuart32_rxint(struct lpuart
+@@ -918,7 +918,12 @@ static void lpuart32_rxint(struct lpuart
  		 */
  		sr = lpuart32_read(&sport->port, UARTSTAT);
  		rx = lpuart32_read(&sport->port, UARTDATA);
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
index 0f9f2dcb3d..aab529fc76 100644
--- 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
@@ -17,7 +17,7 @@ Signed-off-by: Adriana Reus <adriana.reus at nxp.com>
 
 --- a/drivers/tty/serial/fsl_lpuart.c
 +++ b/drivers/tty/serial/fsl_lpuart.c
-@@ -2454,7 +2454,7 @@ static int lpuart_probe(struct platform_
+@@ -2452,7 +2452,7 @@ static int lpuart_probe(struct platform_
  		return PTR_ERR(sport->port.membase);
  
  	sport->port.membase += sdata->reg_off;
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch b/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch
index 1a2d6c2dfe..d4034bb9db 100644
--- a/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch
+++ b/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch
@@ -117,7 +117,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  
  static inline bool is_imx8qxp_lpuart(struct lpuart_port *sport)
  {
-@@ -1000,19 +1021,15 @@ static irqreturn_t lpuart32_int(int irq,
+@@ -998,19 +1019,15 @@ static irqreturn_t lpuart32_int(int irq,
  	if ((sts & UARTSTAT_TDRE) && !sport->lpuart_dma_tx_use)
  		lpuart32_txint(sport);
  
@@ -141,7 +141,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  	if (lpuart_is_32(sport)) {
  		unsigned long sr = lpuart32_read(&sport->port, UARTSTAT);
  
-@@ -1064,8 +1081,21 @@ static void lpuart_copy_rx_to_tty(struct
+@@ -1062,8 +1079,21 @@ static void lpuart_copy_rx_to_tty(struct
  			writeb(cr2, sport->port.membase + UARTCR2);
  		}
  	}
@@ -164,7 +164,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  
  	spin_lock_irqsave(&sport->port.lock, flags);
  
-@@ -1128,7 +1158,33 @@ static void lpuart_copy_rx_to_tty(struct
+@@ -1126,7 +1156,33 @@ static void lpuart_copy_rx_to_tty(struct
  	spin_unlock_irqrestore(&sport->port.lock, flags);
  
  	tty_flip_buffer_push(port);
@@ -199,7 +199,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  }
  
  static void lpuart_dma_rx_complete(void *arg)
-@@ -1136,6 +1192,8 @@ static void lpuart_dma_rx_complete(void
+@@ -1134,6 +1190,8 @@ static void lpuart_dma_rx_complete(void
  	struct lpuart_port *sport = arg;
  
  	lpuart_copy_rx_to_tty(sport);
@@ -208,7 +208,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  }
  
  static void lpuart_timer_func(struct timer_list *t)
-@@ -1143,13 +1201,78 @@ static void lpuart_timer_func(struct tim
+@@ -1141,13 +1199,78 @@ static void lpuart_timer_func(struct tim
  	struct lpuart_port *sport = from_timer(sport, t, lpuart_timer);
  
  	lpuart_copy_rx_to_tty(sport);
@@ -291,7 +291,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  	int bits, baud;
  	struct tty_port *port = &sport->port.state->port;
  	struct tty_struct *tty = port->tty;
-@@ -1169,6 +1292,18 @@ static inline int lpuart_start_rx_dma(st
+@@ -1167,6 +1290,18 @@ static inline int lpuart_start_rx_dma(st
  	sport->rx_dma_rng_buf_len = (1 << (fls(sport->rx_dma_rng_buf_len) - 1));
  	if (sport->rx_dma_rng_buf_len < 16)
  		sport->rx_dma_rng_buf_len = 16;
@@ -310,7 +310,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  
  	ring->buf = kzalloc(sport->rx_dma_rng_buf_len, GFP_ATOMIC);
  	if (!ring->buf)
-@@ -1194,32 +1329,7 @@ static inline int lpuart_start_rx_dma(st
+@@ -1192,32 +1327,7 @@ static inline int lpuart_start_rx_dma(st
  		return ret;
  	}
  
@@ -344,7 +344,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  }
  
  static void lpuart_dma_rx_free(struct uart_port *port)
-@@ -1405,8 +1515,10 @@ static void lpuart_setup_watermark(struc
+@@ -1403,8 +1513,10 @@ static void lpuart_setup_watermark(struc
  		writeb(UARTSFIFO_RXUF, sport->port.membase + UARTSFIFO);
  	}
  
@@ -356,7 +356,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  
  	/* Restore cr2 */
  	writeb(cr2_saved, sport->port.membase + UARTCR2);
-@@ -1427,6 +1539,7 @@ static void lpuart32_setup_watermark(str
+@@ -1425,6 +1537,7 @@ static void lpuart32_setup_watermark(str
  {
  	unsigned long val, ctrl;
  	unsigned long ctrl_saved;
@@ -364,7 +364,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  
  	ctrl = lpuart32_read(&sport->port, UARTCTRL);
  	ctrl_saved = ctrl;
-@@ -1438,12 +1551,26 @@ static void lpuart32_setup_watermark(str
+@@ -1436,12 +1549,26 @@ static void lpuart32_setup_watermark(str
  	val = lpuart32_read(&sport->port, UARTFIFO);
  	val |= UARTFIFO_TXFE | UARTFIFO_RXFE;
  	val |= UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH;
@@ -392,7 +392,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  	/* Restore cr2 */
  	lpuart32_write(&sport->port, ctrl_saved, UARTCTRL);
  }
-@@ -1455,17 +1582,29 @@ static void lpuart32_setup_watermark_ena
+@@ -1453,17 +1580,29 @@ static void lpuart32_setup_watermark_ena
  	lpuart32_setup_watermark(sport);
  
  	temp = lpuart32_read(&sport->port, UARTCTRL);
@@ -423,7 +423,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  static void lpuart_tx_dma_startup(struct lpuart_port *sport)
  {
  	u32 uartbaud;
-@@ -1529,19 +1668,23 @@ static int lpuart_startup(struct uart_po
+@@ -1527,19 +1666,23 @@ static int lpuart_startup(struct uart_po
  	return 0;
  }
  
@@ -454,7 +454,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  	if (!sport->lpuart_dma_tx_use)
  		temp |= UARTCTRL_TIE;
  	lpuart32_write(&sport->port, temp, UARTCTRL);
-@@ -1574,12 +1717,12 @@ static int lpuart32_startup(struct uart_
+@@ -1572,12 +1715,12 @@ static int lpuart32_startup(struct uart_
  
  	spin_lock_irqsave(&sport->port.lock, flags);
  
@@ -469,7 +469,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  	lpuart32_configure(sport);
  
  	spin_unlock_irqrestore(&sport->port.lock, flags);
-@@ -1589,7 +1732,7 @@ static int lpuart32_startup(struct uart_
+@@ -1587,7 +1730,7 @@ static int lpuart32_startup(struct uart_
  static void lpuart_dma_shutdown(struct lpuart_port *sport)
  {
  	if (sport->lpuart_dma_rx_use) {
@@ -478,7 +478,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  		lpuart_dma_rx_free(&sport->port);
  	}
  
-@@ -1630,11 +1773,22 @@ static void lpuart32_shutdown(struct uar
+@@ -1628,11 +1771,22 @@ static void lpuart32_shutdown(struct uar
  
  	spin_lock_irqsave(&port->lock, flags);
  
@@ -503,7 +503,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  
  	spin_unlock_irqrestore(&port->lock, flags);
  
-@@ -1731,10 +1885,10 @@ lpuart_set_termios(struct uart_port *por
+@@ -1729,10 +1883,10 @@ lpuart_set_termios(struct uart_port *por
  	 * baud rate and restart Rx DMA path.
  	 *
  	 * Since timer function acqures sport->port.lock, need to stop before
@@ -516,7 +516,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  		lpuart_dma_rx_free(&sport->port);
  	}
  
-@@ -1946,10 +2100,10 @@ lpuart32_set_termios(struct uart_port *p
+@@ -1944,10 +2098,10 @@ lpuart32_set_termios(struct uart_port *p
  	 * baud rate and restart Rx DMA path.
  	 *
  	 * Since timer function acqures sport->port.lock, need to stop before
@@ -529,7 +529,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  		lpuart_dma_rx_free(&sport->port);
  	}
  
-@@ -2458,6 +2612,10 @@ static int lpuart_probe(struct platform_
+@@ -2456,6 +2610,10 @@ static int lpuart_probe(struct platform_
  	sport->port.dev = &pdev->dev;
  	sport->port.type = PORT_LPUART;
  	sport->devtype = sdata->devtype;
@@ -540,7 +540,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  	ret = platform_get_irq(pdev, 0);
  	if (ret < 0)
  		return ret;
-@@ -2620,7 +2778,7 @@ static int lpuart_suspend(struct device
+@@ -2618,7 +2776,7 @@ static int lpuart_suspend(struct device
  		 * Rx DMA path before suspend and start Rx DMA path on resume.
  		 */
  		if (irq_wake) {
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0006-tty-serial-fsl_lpuart-enable-loopback-mode.patch b/target/linux/layerscape/patches-5.4/819-uart-0006-tty-serial-fsl_lpuart-enable-loopback-mode.patch
index f643b27dda..cfcb6e83fc 100644
--- a/target/linux/layerscape/patches-5.4/819-uart-0006-tty-serial-fsl_lpuart-enable-loopback-mode.patch
+++ b/target/linux/layerscape/patches-5.4/819-uart-0006-tty-serial-fsl_lpuart-enable-loopback-mode.patch
@@ -12,7 +12,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
 
 --- a/drivers/tty/serial/fsl_lpuart.c
 +++ b/drivers/tty/serial/fsl_lpuart.c
-@@ -1464,6 +1464,14 @@ static void lpuart32_set_mctrl(struct ua
+@@ -1462,6 +1462,14 @@ static void lpuart32_set_mctrl(struct ua
  		temp |= UARTMODIR_TXCTSE;
  
  	lpuart32_write(port, temp, UARTMODIR);
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0008-MLK-21445-serial-fsl_lpuart-do-HW-reset-for-communic.patch b/target/linux/layerscape/patches-5.4/819-uart-0008-MLK-21445-serial-fsl_lpuart-do-HW-reset-for-communic.patch
index 8892bc9efc..edb0bd20cf 100644
--- a/target/linux/layerscape/patches-5.4/819-uart-0008-MLK-21445-serial-fsl_lpuart-do-HW-reset-for-communic.patch
+++ b/target/linux/layerscape/patches-5.4/819-uart-0008-MLK-21445-serial-fsl_lpuart-do-HW-reset-for-communic.patch
@@ -105,7 +105,7 @@ Signed-off-by: Shrikant Bobade <Shrikant_Bobade at mentor.com>
  static void lpuart_stop_tx(struct uart_port *port)
  {
  	unsigned char temp;
-@@ -2704,6 +2746,10 @@ static int lpuart_probe(struct platform_
+@@ -2702,6 +2744,10 @@ static int lpuart_probe(struct platform_
  	if (ret)
  		goto failed_attach_port;
  
@@ -116,7 +116,7 @@ Signed-off-by: Shrikant Bobade <Shrikant_Bobade at mentor.com>
  	uart_get_rs485_mode(&pdev->dev, &sport->port.rs485);
  
  	if (sport->port.rs485.flags & SER_RS485_RX_DURING_TX)
-@@ -2727,6 +2773,8 @@ static int lpuart_probe(struct platform_
+@@ -2725,6 +2771,8 @@ static int lpuart_probe(struct platform_
  
  	return 0;
  
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0009-MLK-17133-02-tty-serial-lpuart-add-runtime-pm-suppor.patch b/target/linux/layerscape/patches-5.4/819-uart-0009-MLK-17133-02-tty-serial-lpuart-add-runtime-pm-suppor.patch
index 457b4836db..7021a6e3c7 100644
--- a/target/linux/layerscape/patches-5.4/819-uart-0009-MLK-17133-02-tty-serial-lpuart-add-runtime-pm-suppor.patch
+++ b/target/linux/layerscape/patches-5.4/819-uart-0009-MLK-17133-02-tty-serial-lpuart-add-runtime-pm-suppor.patch
@@ -22,7 +22,7 @@ Reviewed-by: Robin Gong <yibin.gong at nxp.com>
  
  #define DRIVER_NAME	"fsl-lpuart"
  #define DEV_NAME	"ttyLP"
-@@ -846,6 +847,20 @@ static void lpuart32_start_tx(struct uar
+@@ -844,6 +845,20 @@ static void lpuart32_start_tx(struct uar
  	}
  }
  
@@ -43,7 +43,7 @@ Reviewed-by: Robin Gong <yibin.gong at nxp.com>
  /* return TIOCSER_TEMT when transmitter is not busy */
  static unsigned int lpuart_tx_empty(struct uart_port *port)
  {
-@@ -2259,6 +2274,7 @@ static const struct uart_ops lpuart_pops
+@@ -2257,6 +2272,7 @@ static const struct uart_ops lpuart_pops
  	.break_ctl	= lpuart_break_ctl,
  	.startup	= lpuart_startup,
  	.shutdown	= lpuart_shutdown,
@@ -51,7 +51,7 @@ Reviewed-by: Robin Gong <yibin.gong at nxp.com>
  	.set_termios	= lpuart_set_termios,
  	.type		= lpuart_type,
  	.request_port	= lpuart_request_port,
-@@ -2283,6 +2299,7 @@ static const struct uart_ops lpuart32_po
+@@ -2281,6 +2297,7 @@ static const struct uart_ops lpuart32_po
  	.break_ctl	= lpuart32_break_ctl,
  	.startup	= lpuart32_startup,
  	.shutdown	= lpuart32_shutdown,
@@ -59,7 +59,7 @@ Reviewed-by: Robin Gong <yibin.gong at nxp.com>
  	.set_termios	= lpuart32_set_termios,
  	.type		= lpuart_type,
  	.request_port	= lpuart_request_port,
-@@ -2742,6 +2759,11 @@ static int lpuart_probe(struct platform_
+@@ -2740,6 +2757,11 @@ static int lpuart_probe(struct platform_
  	if (ret)
  		goto failed_irq_request;
  
@@ -71,7 +71,7 @@ Reviewed-by: Robin Gong <yibin.gong at nxp.com>
  	ret = uart_add_one_port(&lpuart_reg, &sport->port);
  	if (ret)
  		goto failed_attach_port;
-@@ -2776,6 +2798,9 @@ static int lpuart_probe(struct platform_
+@@ -2774,6 +2796,9 @@ static int lpuart_probe(struct platform_
  failed_reset:
  	uart_remove_one_port(&lpuart_reg, &sport->port);
  failed_attach_port:
@@ -81,7 +81,7 @@ Reviewed-by: Robin Gong <yibin.gong at nxp.com>
  failed_irq_request:
  	lpuart_disable_clks(sport);
  failed_clock_enable:
-@@ -2802,15 +2827,41 @@ static int lpuart_remove(struct platform
+@@ -2800,15 +2825,41 @@ static int lpuart_remove(struct platform
  	if (sport->dma_rx_chan)
  		dma_release_channel(sport->dma_rx_chan);
  
@@ -123,7 +123,7 @@ Reviewed-by: Robin Gong <yibin.gong at nxp.com>
  
  	if (lpuart_is_32(sport)) {
  		/* disable Rx/Tx and interrupts */
-@@ -2824,10 +2875,14 @@ static int lpuart_suspend(struct device
+@@ -2822,10 +2873,14 @@ static int lpuart_suspend(struct device
  		writeb(temp, sport->port.membase + UARTCR2);
  	}
  
@@ -138,7 +138,7 @@ Reviewed-by: Robin Gong <yibin.gong at nxp.com>
  
  	if (sport->lpuart_dma_rx_use) {
  		/*
-@@ -2858,9 +2913,6 @@ static int lpuart_suspend(struct device
+@@ -2856,9 +2911,6 @@ static int lpuart_suspend(struct device
  		dmaengine_terminate_all(sport->dma_tx_chan);
  	}
  
@@ -148,7 +148,7 @@ Reviewed-by: Robin Gong <yibin.gong at nxp.com>
  	return 0;
  }
  
-@@ -2868,9 +2920,11 @@ static int lpuart_resume(struct device *
+@@ -2866,9 +2918,11 @@ static int lpuart_resume(struct device *
  {
  	struct lpuart_port *sport = dev_get_drvdata(dev);
  	bool irq_wake = irqd_is_wakeup_set(irq_get_irq_data(sport->port.irq));
@@ -162,7 +162,7 @@ Reviewed-by: Robin Gong <yibin.gong at nxp.com>
  
  	if (lpuart_is_32(sport))
  		lpuart32_setup_watermark_enable(sport);
-@@ -2891,13 +2945,23 @@ static int lpuart_resume(struct device *
+@@ -2889,13 +2943,23 @@ static int lpuart_resume(struct device *
  	if (lpuart_is_32(sport))
  		lpuart32_configure(sport);
  
@@ -188,7 +188,7 @@ Reviewed-by: Robin Gong <yibin.gong at nxp.com>
  
  static struct platform_driver lpuart_driver = {
  	.probe		= lpuart_probe,
-@@ -2905,7 +2969,7 @@ static struct platform_driver lpuart_dri
+@@ -2903,7 +2967,7 @@ static struct platform_driver lpuart_dri
  	.driver		= {
  		.name	= "fsl-lpuart",
  		.of_match_table = lpuart_dt_ids,
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0010-tty-serial-lpuart-enable-wakeup-source-for-lpuart.patch b/target/linux/layerscape/patches-5.4/819-uart-0010-tty-serial-lpuart-enable-wakeup-source-for-lpuart.patch
index b3c03bc245..71c75584b8 100644
--- a/target/linux/layerscape/patches-5.4/819-uart-0010-tty-serial-lpuart-enable-wakeup-source-for-lpuart.patch
+++ b/target/linux/layerscape/patches-5.4/819-uart-0010-tty-serial-lpuart-enable-wakeup-source-for-lpuart.patch
@@ -28,7 +28,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  #include <linux/pm_domain.h>
  #include <linux/pm_runtime.h>
  #include <linux/reset.h>
-@@ -1709,10 +1710,23 @@ static void lpuart_rx_dma_startup(struct
+@@ -1707,10 +1708,23 @@ static void lpuart_rx_dma_startup(struct
  	}
  }
  
@@ -53,7 +53,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  	unsigned char temp;
  
  	/* determine FIFO size and enable FIFO mode */
-@@ -1725,14 +1739,7 @@ static int lpuart_startup(struct uart_po
+@@ -1723,14 +1737,7 @@ static int lpuart_startup(struct uart_po
  	sport->rxfifo_size = UARTFIFO_DEPTH((temp >> UARTPFIFO_RXSIZE_OFF) &
  					    UARTPFIFO_FIFOSIZE_MASK);
  
@@ -69,7 +69,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  
  	return 0;
  }
-@@ -1759,11 +1766,27 @@ static void lpuart32_configure(struct lp
+@@ -1757,11 +1764,27 @@ static void lpuart32_configure(struct lp
  	lpuart32_write(&sport->port, temp, UARTCTRL);
  }
  
@@ -98,7 +98,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  	unsigned long temp;
  	int ret;
  
-@@ -1784,17 +1807,8 @@ static int lpuart32_startup(struct uart_
+@@ -1782,17 +1805,8 @@ static int lpuart32_startup(struct uart_
  	sport->rxfifo_size = UARTFIFO_DEPTH((temp >> UARTFIFO_RXSIZE_OFF) &
  					    UARTFIFO_FIFOSIZE_MASK);
  
@@ -117,7 +117,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  	return 0;
  }
  
-@@ -2852,108 +2866,205 @@ static int lpuart_runtime_resume(struct
+@@ -2850,108 +2864,205 @@ static int lpuart_runtime_resume(struct
  	return lpuart_enable_clks(sport);
  };
  
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0011-serial-fsl_lpuart-enable-two-stop-bits.patch b/target/linux/layerscape/patches-5.4/819-uart-0011-serial-fsl_lpuart-enable-two-stop-bits.patch
index 107909567d..3f92a1491e 100644
--- a/target/linux/layerscape/patches-5.4/819-uart-0011-serial-fsl_lpuart-enable-two-stop-bits.patch
+++ b/target/linux/layerscape/patches-5.4/819-uart-0011-serial-fsl_lpuart-enable-two-stop-bits.patch
@@ -14,7 +14,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
 
 --- a/drivers/tty/serial/fsl_lpuart.c
 +++ b/drivers/tty/serial/fsl_lpuart.c
-@@ -2111,11 +2111,12 @@ lpuart32_set_termios(struct uart_port *p
+@@ -2109,11 +2109,12 @@ lpuart32_set_termios(struct uart_port *p
  {
  	struct lpuart_port *sport = container_of(port, struct lpuart_port, port);
  	unsigned long flags;
@@ -28,7 +28,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  	modem = lpuart32_read(&sport->port, UARTMODIR);
  	/*
  	 * only support CS8 and CS7, and for CS7 must enable PE.
-@@ -2152,7 +2153,9 @@ lpuart32_set_termios(struct uart_port *p
+@@ -2150,7 +2151,9 @@ lpuart32_set_termios(struct uart_port *p
  	}
  
  	if (termios->c_cflag & CSTOPB)
@@ -39,7 +39,7 @@ Signed-off-by: Fugang Duan <fugang.duan at nxp.com>
  
  	/* parity must be enabled when CS7 to match 8-bits format */
  	if ((termios->c_cflag & CSIZE) == CS7)
-@@ -2222,6 +2225,7 @@ lpuart32_set_termios(struct uart_port *p
+@@ -2220,6 +2223,7 @@ lpuart32_set_termios(struct uart_port *p
  	lpuart32_write(&sport->port, old_ctrl & ~(UARTCTRL_TE | UARTCTRL_RE),
  		       UARTCTRL);
  
diff --git a/target/linux/layerscape/patches-5.4/819-uart-0013-LF-484-tty-serial-lpuart-support-UPIO_MEM32-for-lpua.patch b/target/linux/layerscape/patches-5.4/819-uart-0013-LF-484-tty-serial-lpuart-support-UPIO_MEM32-for-lpua.patch
index b94389c0e7..125502ff9d 100644
--- a/target/linux/layerscape/patches-5.4/819-uart-0013-LF-484-tty-serial-lpuart-support-UPIO_MEM32-for-lpua.patch
+++ b/target/linux/layerscape/patches-5.4/819-uart-0013-LF-484-tty-serial-lpuart-support-UPIO_MEM32-for-lpua.patch
@@ -24,7 +24,7 @@ Signed-off-by: Peng Fan <peng.fan at nxp.com>
 
 --- a/drivers/tty/serial/fsl_lpuart.c
 +++ b/drivers/tty/serial/fsl_lpuart.c
-@@ -2600,7 +2600,9 @@ static int __init lpuart32_early_console
+@@ -2598,7 +2598,9 @@ static int __init lpuart32_early_console
  	if (!device->port.membase)
  		return -ENODEV;
  
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch b/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch
index a1a06f0b9e..a60167e945 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0004-usb-dwc3-use-suspend-clock-from-dt-to-set-power-down.patch
@@ -15,7 +15,7 @@ Signed-off-by: Li Jun <jun.li at nxp.com>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -894,6 +894,25 @@ static void dwc3_set_incr_burst_type(str
+@@ -900,6 +900,25 @@ static void dwc3_set_incr_burst_type(str
  	dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, cfg);
  }
  
@@ -41,7 +41,7 @@ Signed-off-by: Li Jun <jun.li at nxp.com>
  /**
   * dwc3_core_init - Low-level initialization of DWC3 Core
   * @dwc: Pointer to our controller context structure
-@@ -918,6 +937,8 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -924,6 +943,8 @@ static int dwc3_core_init(struct dwc3 *d
  			dwc->maximum_speed = USB_SPEED_HIGH;
  	}
  
@@ -52,7 +52,7 @@ Signed-off-by: Li Jun <jun.li at nxp.com>
  		goto err0;
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -223,6 +223,7 @@
+@@ -224,6 +224,7 @@
  
  /* Global Configuration Register */
  #define DWC3_GCTL_PWRDNSCALE(n)	((n) << 19)
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 1d1e63a07c..2a224d1171 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
@@ -16,7 +16,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -1263,6 +1263,17 @@ static void dwc3_get_properties(struct d
+@@ -1269,6 +1269,17 @@ static void dwc3_get_properties(struct d
  
  	dwc->maximum_speed = usb_get_maximum_speed(dev);
  	dwc->dr_mode = usb_get_dr_mode(dev);
@@ -36,7 +36,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
  	dwc->sysdev_is_parent = device_property_read_bool(dev,
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -949,6 +949,7 @@ struct dwc3_scratchpad_array {
+@@ -953,6 +953,7 @@ struct dwc3_scratchpad_array {
   * @nr_scratch: number of scratch buffers
   * @u1u2: only used on revisions <1.83a for workaround
   * @maximum_speed: maximum speed requested (mainly for testing purposes)
@@ -44,7 +44,7 @@ Signed-off-by: Peter Chen <peter.chen at nxp.com>
   * @revision: revision register contents
   * @version_type: VERSIONTYPE register contents, a sub release of a revision
   * @dr_mode: requested mode of operation
-@@ -1104,6 +1105,7 @@ struct dwc3 {
+@@ -1109,6 +1110,7 @@ struct dwc3 {
  	u32			nr_scratch;
  	u32			u1u2;
  	u32			maximum_speed;
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0006-usb-dwc3-drd-add-usb-role-switch-class-support-for-d.patch b/target/linux/layerscape/patches-5.4/820-usb-0006-usb-dwc3-drd-add-usb-role-switch-class-support-for-d.patch
index 046b4fd2df..95785792ac 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0006-usb-dwc3-drd-add-usb-role-switch-class-support-for-d.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0006-usb-dwc3-drd-add-usb-role-switch-class-support-for-d.patch
@@ -23,7 +23,7 @@ Signed-off-by: Li Jun <jun.li at nxp.com>
  #include <linux/ulpi/interface.h>
  
  #include <linux/phy/phy.h>
-@@ -1089,6 +1090,7 @@ struct dwc3 {
+@@ -1094,6 +1095,7 @@ struct dwc3 {
  	void __iomem		*regs;
  	size_t			regs_size;
  
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch b/target/linux/layerscape/patches-5.4/820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch
index f72c6171a8..8cb1779fb4 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch
@@ -32,9 +32,9 @@ Reviewed-by: Peter Chen <peter.chen at nxp.com>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -1355,6 +1355,9 @@ static void dwc3_get_properties(struct d
- 	dwc->dis_metastability_quirk = device_property_read_bool(dev,
- 				"snps,dis_metastability_quirk");
+@@ -1364,6 +1364,9 @@ static void dwc3_get_properties(struct d
+ 	dwc->dis_split_quirk = device_property_read_bool(dev,
+ 				"snps,dis-split-quirk");
  
 +	dwc->host_vbus_glitches = device_property_read_bool(dev,
 +				"snps,host-vbus-glitches");
@@ -44,23 +44,24 @@ Reviewed-by: Peter Chen <peter.chen at nxp.com>
  
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -1041,6 +1041,8 @@ struct dwc3_scratchpad_array {
-  * 	2	- No de-emphasis
+@@ -1046,6 +1046,8 @@ struct dwc3_scratchpad_array {
   * 	3	- Reserved
   * @dis_metastability_quirk: set to disable metastability quirk.
+  * @dis_split_quirk: set to disable split boundary.
 + * @host_vbus_glitches: set to avoid vbus glitch during
 + *                      xhci reset.
   * @imod_interval: set the interrupt moderation interval in 250ns
   *                 increments or 0 to disable.
   */
-@@ -1233,6 +1235,7 @@ struct dwc3 {
- 	unsigned		tx_de_emphasis:2;
+@@ -1241,6 +1243,8 @@ struct dwc3 {
  
- 	unsigned		dis_metastability_quirk:1;
-+	unsigned		host_vbus_glitches:1;
+ 	unsigned		dis_split_quirk:1;
  
++	unsigned		host_vbus_glitches:1;
++
  	u16			imod_interval;
  };
+ 
 --- a/drivers/usb/dwc3/host.c
 +++ b/drivers/usb/dwc3/host.c
 @@ -9,8 +9,49 @@
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0010-MLK-22675-usb-dwc3-host-disable-park-mode.patch b/target/linux/layerscape/patches-5.4/820-usb-0010-MLK-22675-usb-dwc3-host-disable-park-mode.patch
index 963f9df07c..0e6a9278d7 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0010-MLK-22675-usb-dwc3-host-disable-park-mode.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0010-MLK-22675-usb-dwc3-host-disable-park-mode.patch
@@ -54,7 +54,7 @@ Signed-off-by: Li Jun <jun.li at nxp.com>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -1033,6 +1033,21 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1039,6 +1039,21 @@ static int dwc3_core_init(struct dwc3 *d
  		reg |= DWC3_GUCTL_HSTINAUTORETRY;
  
  		dwc3_writel(dwc->regs, DWC3_GUCTL, reg);
@@ -78,7 +78,7 @@ Signed-off-by: Li Jun <jun.li at nxp.com>
  	/*
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -254,6 +254,7 @@
+@@ -255,6 +255,7 @@
  #define DWC3_GUCTL1_PARKMODE_DISABLE_SS	BIT(17)
  #define DWC3_GUCTL1_TX_IPGAP_LINECHECK_DIS	BIT(28)
  #define DWC3_GUCTL1_DEV_L1_EXIT_BY_HW	BIT(24)
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch b/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch
index 3f9395f594..c40af8c5c7 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch
@@ -43,7 +43,7 @@ Reviewed-by: Jun Li <jun.li at nxp.com>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -913,6 +913,54 @@ static void dwc3_set_power_down_clk_scal
+@@ -919,6 +919,54 @@ static void dwc3_set_power_down_clk_scal
  	dwc3_writel(dwc->regs, DWC3_GCTL, reg);
  }
  
@@ -98,7 +98,7 @@ Reviewed-by: Jun Li <jun.li at nxp.com>
  /**
   * dwc3_core_init - Low-level initialization of DWC3 Core
   * @dwc: Pointer to our controller context structure
-@@ -973,6 +1021,10 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -979,6 +1027,10 @@ static int dwc3_core_init(struct dwc3 *d
  
  	dwc3_set_incr_burst_type(dwc);
  
@@ -109,7 +109,7 @@ Reviewed-by: Jun Li <jun.li at nxp.com>
  	usb_phy_set_suspend(dwc->usb2_phy, 0);
  	usb_phy_set_suspend(dwc->usb3_phy, 0);
  	ret = phy_power_on(dwc->usb2_generic_phy);
-@@ -1895,12 +1947,9 @@ static const struct dev_pm_ops dwc3_dev_
+@@ -1920,12 +1972,9 @@ static const struct dev_pm_ops dwc3_dev_
  
  #ifdef CONFIG_OF
  static const struct of_device_id of_dwc3_match[] = {
@@ -127,7 +127,7 @@ Reviewed-by: Jun Li <jun.li at nxp.com>
  MODULE_DEVICE_TABLE(of, of_dwc3_match);
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -166,6 +166,21 @@
+@@ -167,6 +167,21 @@
  /* Bit fields */
  
  /* Global SoC Bus Configuration INCRx Register 0 */
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 0ecfb978e4..43d3d7d9e5 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
-@@ -5362,6 +5362,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5361,6 +5361,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,
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 3140058689..57818b1136 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
-@@ -5379,6 +5379,8 @@ void xhci_init_driver(struct hc_driver *
+@@ -5378,6 +5378,8 @@ void xhci_init_driver(struct hc_driver *
  			drv->reset = over->reset;
  		if (over->start)
  			drv->start = over->start;
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch b/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch
index 52c60b0690..8b31ae897e 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch
@@ -15,7 +15,7 @@ Signed-off-by: Ran Wang <ran.wang_1 at nxp.com>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -913,54 +913,6 @@ static void dwc3_set_power_down_clk_scal
+@@ -919,54 +919,6 @@ static void dwc3_set_power_down_clk_scal
  	dwc3_writel(dwc->regs, DWC3_GCTL, reg);
  }
  
@@ -70,7 +70,7 @@ Signed-off-by: Ran Wang <ran.wang_1 at nxp.com>
  /**
   * dwc3_core_init - Low-level initialization of DWC3 Core
   * @dwc: Pointer to our controller context structure
-@@ -1021,10 +973,6 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1027,10 +979,6 @@ static int dwc3_core_init(struct dwc3 *d
  
  	dwc3_set_incr_burst_type(dwc);
  
@@ -81,7 +81,7 @@ Signed-off-by: Ran Wang <ran.wang_1 at nxp.com>
  	usb_phy_set_suspend(dwc->usb2_phy, 0);
  	usb_phy_set_suspend(dwc->usb3_phy, 0);
  	ret = phy_power_on(dwc->usb2_generic_phy);
-@@ -1947,9 +1895,12 @@ static const struct dev_pm_ops dwc3_dev_
+@@ -1972,9 +1920,12 @@ static const struct dev_pm_ops dwc3_dev_
  
  #ifdef CONFIG_OF
  static const struct of_device_id of_dwc3_match[] = {
@@ -99,7 +99,7 @@ Signed-off-by: Ran Wang <ran.wang_1 at nxp.com>
  MODULE_DEVICE_TABLE(of, of_dwc3_match);
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -166,21 +166,6 @@
+@@ -167,21 +167,6 @@
  /* Bit fields */
  
  /* Global SoC Bus Configuration INCRx Register 0 */
diff --git a/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch b/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch
index 8971c6af61..8fde037eaa 100644
--- a/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch
+++ b/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch
@@ -43,7 +43,7 @@ Reviewed-by: Jun Li <jun.li at nxp.com>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -913,6 +913,53 @@ static void dwc3_set_power_down_clk_scal
+@@ -919,6 +919,53 @@ static void dwc3_set_power_down_clk_scal
  	dwc3_writel(dwc->regs, DWC3_GCTL, reg);
  }
  
@@ -97,7 +97,7 @@ Reviewed-by: Jun Li <jun.li at nxp.com>
  /**
   * dwc3_core_init - Low-level initialization of DWC3 Core
   * @dwc: Pointer to our controller context structure
-@@ -973,6 +1020,10 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -979,6 +1026,10 @@ static int dwc3_core_init(struct dwc3 *d
  
  	dwc3_set_incr_burst_type(dwc);
  
@@ -108,7 +108,7 @@ Reviewed-by: Jun Li <jun.li at nxp.com>
  	usb_phy_set_suspend(dwc->usb2_phy, 0);
  	usb_phy_set_suspend(dwc->usb3_phy, 0);
  	ret = phy_power_on(dwc->usb2_generic_phy);
-@@ -1895,12 +1946,16 @@ static const struct dev_pm_ops dwc3_dev_
+@@ -1920,12 +1971,16 @@ static const struct dev_pm_ops dwc3_dev_
  
  #ifdef CONFIG_OF
  static const struct of_device_id of_dwc3_match[] = {
@@ -133,7 +133,7 @@ Reviewed-by: Jun Li <jun.li at nxp.com>
  MODULE_DEVICE_TABLE(of, of_dwc3_match);
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -166,6 +166,21 @@
+@@ -167,6 +167,21 @@
  /* Bit fields */
  
  /* Global SoC Bus Configuration INCRx Register 0 */
diff --git a/target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch b/target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch
index 45d7999e31..d2a9c65cdc 100644
--- a/target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch
+++ b/target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch
@@ -127,7 +127,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  					   phylink_config);
 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
 +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-@@ -951,8 +951,10 @@ static void stmmac_mac_link_down(struct
+@@ -925,8 +925,10 @@ static void stmmac_mac_link_down(struct
  }
  
  static void stmmac_mac_link_up(struct phylink_config *config,
diff --git a/target/linux/mvebu/patches-5.4/405-PCI-aardvark-Improve-link-training.patch b/target/linux/mvebu/patches-5.4/405-PCI-aardvark-Improve-link-training.patch
index 20723894ec..2bf838432f 100644
--- a/target/linux/mvebu/patches-5.4/405-PCI-aardvark-Improve-link-training.patch
+++ b/target/linux/mvebu/patches-5.4/405-PCI-aardvark-Improve-link-training.patch
@@ -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 |
-@@ -1036,6 +1094,12 @@ static int advk_pcie_probe(struct platfo
+@@ -1035,6 +1093,12 @@ static int advk_pcie_probe(struct platfo
  		return ret;
  	}
  
@@ -205,4 +205,4 @@ Acked-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
 +
  	advk_pcie_setup_hw(pcie);
  
- 	advk_sw_pci_bridge_init(pcie);
+ 	ret = advk_sw_pci_bridge_init(pcie);
diff --git a/target/linux/mvebu/patches-5.4/406-PCI-aardvark-Issue-PERST-via-GPIO.patch b/target/linux/mvebu/patches-5.4/406-PCI-aardvark-Issue-PERST-via-GPIO.patch
index 1ba70dd6f7..83212ec475 100644
--- a/target/linux/mvebu/patches-5.4/406-PCI-aardvark-Issue-PERST-via-GPIO.patch
+++ b/target/linux/mvebu/patches-5.4/406-PCI-aardvark-Issue-PERST-via-GPIO.patch
@@ -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.
  	 */
-@@ -1094,6 +1119,22 @@ static int advk_pcie_probe(struct platfo
+@@ -1093,6 +1118,22 @@ static int advk_pcie_probe(struct platfo
  		return ret;
  	}
  
diff --git a/target/linux/mvebu/patches-5.4/407-PCI-aardvark-Add-PHY-support.patch b/target/linux/mvebu/patches-5.4/407-PCI-aardvark-Add-PHY-support.patch
index 1d9a9cbb1c..fa04861e80 100644
--- a/target/linux/mvebu/patches-5.4/407-PCI-aardvark-Add-PHY-support.patch
+++ b/target/linux/mvebu/patches-5.4/407-PCI-aardvark-Add-PHY-support.patch
@@ -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);
-@@ -1084,6 +1093,62 @@ out_release_res:
+@@ -1083,6 +1092,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;
-@@ -1141,6 +1206,10 @@ static int advk_pcie_probe(struct platfo
+@@ -1140,6 +1205,10 @@ static int advk_pcie_probe(struct platfo
  	else
  		pcie->link_gen = ret;
  
@@ -149,4 +149,4 @@ Cc: Miquèl Raynal <miquel.raynal at bootlin.com>
 +
  	advk_pcie_setup_hw(pcie);
  
- 	advk_sw_pci_bridge_init(pcie);
+ 	ret = advk_sw_pci_bridge_init(pcie);
diff --git a/target/linux/mvebu/patches-5.4/408-PCI-aardvark-Don-t-touch-PCIe-registers-if-no-card-c.patch b/target/linux/mvebu/patches-5.4/408-PCI-aardvark-Don-t-touch-PCIe-registers-if-no-card-c.patch
index 9bff37b27a..dfc068c8cb 100644
--- a/target/linux/mvebu/patches-5.4/408-PCI-aardvark-Don-t-touch-PCIe-registers-if-no-card-c.patch
+++ b/target/linux/mvebu/patches-5.4/408-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
-@@ -640,6 +640,13 @@ static bool advk_pcie_valid_device(struc
+@@ -639,6 +639,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/410-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch b/target/linux/mvebu/patches-5.4/410-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch
index 510b7458a5..bb9d7b7849 100644
--- a/target/linux/mvebu/patches-5.4/410-PCI-aardvark-Fix-initialization-with-old-Marvell-s-A.patch
+++ b/target/linux/mvebu/patches-5.4/410-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
-@@ -1124,7 +1124,9 @@ static int advk_pcie_enable_phy(struct a
+@@ -1123,7 +1123,9 @@ static int advk_pcie_enable_phy(struct a
  	}
  
  	ret = phy_power_on(pcie->phy);
diff --git a/target/linux/pistachio/patches-5.4/150-pwm-img-Fix-null-pointer-access-in-probe.patch b/target/linux/pistachio/patches-5.4/150-pwm-img-Fix-null-pointer-access-in-probe.patch
deleted file mode 100644
index d5c573c75c..0000000000
--- a/target/linux/pistachio/patches-5.4/150-pwm-img-Fix-null-pointer-access-in-probe.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 502396fe598126ffd91f962d53a507aa6c7276fc Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke at hauke-m.de>
-Date: Sat, 15 Aug 2020 16:37:43 +0200
-Subject: [PATCH v2] pwm: img: Fix null pointer access in probe
-
-dev_get_drvdata() is called in img_pwm_runtime_resume() before the
-driver data is set.
-When pm_runtime_enabled() returns false in img_pwm_probe() it calls
-img_pwm_runtime_resume() which results in a null pointer access.
-
-This patch fixes the problem by setting the driver data earlier in the
-img_pwm_probe() function.
-
-This crash was seen when booting the Imagination Technologies Creator
-Ci40 (Marduk) with kernel 5.4 in OpenWrt.
-
-Fixes: e690ae526216 ("pwm: img: Add runtime PM")
-Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
-Acked-by: Lee Jones <lee.jones at linaro.org>
----
- drivers/pwm/pwm-img.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/pwm/pwm-img.c
-+++ b/drivers/pwm/pwm-img.c
-@@ -277,6 +277,8 @@ static int img_pwm_probe(struct platform
- 		return PTR_ERR(pwm->pwm_clk);
- 	}
- 
-+	platform_set_drvdata(pdev, pwm);
-+
- 	pm_runtime_set_autosuspend_delay(&pdev->dev, IMG_PWM_PM_TIMEOUT);
- 	pm_runtime_use_autosuspend(&pdev->dev);
- 	pm_runtime_enable(&pdev->dev);
-@@ -313,7 +315,6 @@ static int img_pwm_probe(struct platform
- 		goto err_suspend;
- 	}
- 
--	platform_set_drvdata(pdev, pwm);
- 	return 0;
- 
- err_suspend:



More information about the lede-commits mailing list