diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 00f7c90313..216b2f6369 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL endif LINUX_VERSION-5.4 = .145 -LINUX_VERSION-5.10 = .64 +LINUX_VERSION-5.10 = .70 LINUX_KERNEL_HASH-5.4.145 = 5cf7782ec2e91417edf0d5e6555da6d556962c8985e33ba9e7dadba5cbdc68f9 -LINUX_KERNEL_HASH-5.10.64 = 3eb84bd24a2de2b4749314e34597c02401c5d6831b055ed5224adb405c35e30a +LINUX_KERNEL_HASH-5.10.70 = 75736c33711d7f298889ee4981b18774882045323e5c46af9ad3b022082db232 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/include/prereq-build.mk b/include/prereq-build.mk index 922e7c544b..750d334716 100644 --- a/include/prereq-build.mk +++ b/include/prereq-build.mk @@ -157,6 +157,7 @@ $(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \ $(eval $(call CleanupPython2)) $(eval $(call SetupHostCommand,python,Please install Python >= 3.6, \ + python3.10 -V 2>&1 | grep 'Python 3', \ python3.9 -V 2>&1 | grep 'Python 3', \ python3.8 -V 2>&1 | grep 'Python 3', \ python3.7 -V 2>&1 | grep 'Python 3', \ @@ -164,6 +165,7 @@ $(eval $(call SetupHostCommand,python,Please install Python >= 3.6, \ python3 -V 2>&1 | grep -E 'Python 3\.[6-9]\.?')) $(eval $(call SetupHostCommand,python3,Please install Python >= 3.6, \ + python3.10 -V 2>&1 | grep 'Python 3', \ python3.9 -V 2>&1 | grep 'Python 3', \ python3.8 -V 2>&1 | grep 'Python 3', \ python3.7 -V 2>&1 | grep 'Python 3', \ @@ -184,7 +186,7 @@ $(eval $(call SetupHostCommand,rsync,Please install 'rsync', \ rsync --version ; ++ gpios = <&gpio 240 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + green { + label = "bpi-r2:pio:green"; +- gpios = <&gpio 240 GPIO_ACTIVE_HIGH>; ++ gpios = <&gpio 241 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + + red { + label = "bpi-r2:pio:red"; +- gpios = <&gpio 239 GPIO_ACTIVE_HIGH>; ++ gpios = <&gpio 239 GPIO_ACTIVE_LOW>; + default-state = "off"; + }; + }; diff --git a/package/kernel/cryptodev-linux/Makefile b/package/kernel/cryptodev-linux/Makefile index 85065e4eeb..345036b59d 100644 --- a/package/kernel/cryptodev-linux/Makefile +++ b/package/kernel/cryptodev-linux/Makefile @@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=cryptodev-linux -PKG_VERSION:=1.11 -PKG_RELEASE:=1 +PKG_VERSION:=1.12 +PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE_URL:=https://codeload.github.com/$(PKG_NAME)/$(PKG_NAME)/tar.gz/$(PKG_NAME)-$(PKG_VERSION)? PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_HASH:=d71fd8dafc40147586f5bc6acca8fce5088d9c576d1142fe5aeb7b0813186a11 +PKG_HASH:=f51c2254749233b1b1d7ec9445158bd709f124f88e1c650fe2faac83c3a81938 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING diff --git a/package/kernel/cryptodev-linux/patches/010-fix-build-for-kernel-v5.9-rc1.patch b/package/kernel/cryptodev-linux/patches/010-fix-build-for-kernel-v5.9-rc1.patch deleted file mode 100644 index 09768a1f3a..0000000000 --- a/package/kernel/cryptodev-linux/patches/010-fix-build-for-kernel-v5.9-rc1.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 2f5e08aebf9229599aae7f25db752f74221cd71d Mon Sep 17 00:00:00 2001 -From: Joan Bruguera -Date: Fri, 14 Aug 2020 00:13:38 +0200 -Subject: [PATCH] Fix build for Linux 5.9-rc1 - -See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=64019a2e467a288a16b65ab55ddcbf58c1b00187 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bce617edecada007aee8610fbe2c14d10b8de2f6 - https://lore.kernel.org/lkml/CAHk-=wj_V2Tps2QrMn20_W0OJF9xqNh52XSGA42s-ZJ8Y+GyKw@mail.gmail.com/ - -Signed-off-by: Joan Bruguera ---- - zc.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - ---- a/zc.c -+++ b/zc.c -@@ -76,10 +76,14 @@ int __get_userbuf(uint8_t __user *addr, - ret = get_user_pages_remote(task, mm, - (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0, - pg, NULL); --#else -+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(5, 9, 0)) - ret = get_user_pages_remote(task, mm, - (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0, - pg, NULL, NULL); -+#else -+ ret = get_user_pages_remote(mm, -+ (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0, -+ pg, NULL, NULL); - #endif - #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0)) - up_read(&mm->mmap_sem); diff --git a/package/kernel/linux/modules/virt.mk b/package/kernel/linux/modules/virt.mk index a9a0b538ff..5ed0d5dbbf 100644 --- a/package/kernel/linux/modules/virt.mk +++ b/package/kernel/linux/modules/virt.mk @@ -20,8 +20,9 @@ define KernelPackage/kvm-x86 TITLE:=Kernel-based Virtual Machine (KVM) support DEPENDS:=@TARGET_x86_generic||TARGET_x86_64 +kmod-irqbypass KCONFIG:=\ - CONFIG_VIRTUALIZATION=y \ - CONFIG_KVM + CONFIG_KVM \ + CONFIG_KVM_MMU_AUDIT=n \ + CONFIG_VIRTUALIZATION=y FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm.ko AUTOLOAD:=$(call AutoProbe,kvm.ko) endef diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index bb8088d11f..8f1ba15077 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -625,7 +625,7 @@ mac80211_iw_interface_add() { rc="$?" } - [ "$rc" != 0 ] && wireless_setup_failed INTERFACE_CREATION_FAILED + [ "$rc" != 0 ] && echo "Failed to create interface $ifname" return $rc } diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile index f2ea7f5f43..5e6ebbde12 100644 --- a/package/network/config/netifd/Makefile +++ b/package/network/config/netifd/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git -PKG_SOURCE_DATE:=2021-09-21 -PKG_SOURCE_VERSION:=08e954e137ffcf7770200bbd6476dc36bbd326f5 -PKG_MIRROR_HASH:=2250b8adc892a7ce0b79ca34611fae0098b3a367272684f42891923717b47578 +PKG_SOURCE_DATE:=2021-09-29 +PKG_SOURCE_VERSION:=448ffc154fe78ee1c8e4b2cda1a479f0d8af8b37 +PKG_MIRROR_HASH:=eec346ae3e27b8e37b91600e1ee822504b8715bbaf360a6bd962e61b6a6ad13e PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=GPL-2.0 diff --git a/target/linux/bcm27xx/patches-5.10/950-0015-firmware-Updated-mailbox-header.patch b/target/linux/bcm27xx/patches-5.10/950-0015-firmware-Updated-mailbox-header.patch index ec1e48a047..d909c9d150 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0015-firmware-Updated-mailbox-header.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0015-firmware-Updated-mailbox-header.patch @@ -18,7 +18,7 @@ Subject: [PATCH] firmware: Updated mailbox header struct rpi_firmware; enum rpi_firmware_property_status { -@@ -159,5 +161,6 @@ static inline struct rpi_firmware *rpi_f +@@ -161,5 +163,6 @@ static inline struct rpi_firmware *rpi_f return NULL; } #endif diff --git a/target/linux/bcm27xx/patches-5.10/950-0043-fbdev-add-FBIOCOPYAREA-ioctl.patch b/target/linux/bcm27xx/patches-5.10/950-0043-fbdev-add-FBIOCOPYAREA-ioctl.patch index 75e3aea2d7..0807512c72 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0043-fbdev-add-FBIOCOPYAREA-ioctl.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0043-fbdev-add-FBIOCOPYAREA-ioctl.patch @@ -244,7 +244,7 @@ Signed-off-by: Dave Stevenson static int bcm2708_fb_register(struct bcm2708_fb *fb) --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c -@@ -1079,6 +1079,30 @@ fb_blank(struct fb_info *info, int blank +@@ -1085,6 +1085,30 @@ fb_blank(struct fb_info *info, int blank } EXPORT_SYMBOL(fb_blank); @@ -275,7 +275,7 @@ Signed-off-by: Dave Stevenson static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) { -@@ -1087,6 +1111,7 @@ static long do_fb_ioctl(struct fb_info * +@@ -1093,6 +1117,7 @@ static long do_fb_ioctl(struct fb_info * struct fb_fix_screeninfo fix; struct fb_cmap cmap_from; struct fb_cmap_user cmap; @@ -283,7 +283,7 @@ Signed-off-by: Dave Stevenson void __user *argp = (void __user *)arg; long ret = 0; -@@ -1162,6 +1187,15 @@ static long do_fb_ioctl(struct fb_info * +@@ -1168,6 +1193,15 @@ static long do_fb_ioctl(struct fb_info * unlock_fb_info(info); console_unlock(); break; @@ -299,7 +299,7 @@ Signed-off-by: Dave Stevenson default: lock_fb_info(info); fb = info->fbops; -@@ -1307,6 +1341,7 @@ static long fb_compat_ioctl(struct file +@@ -1313,6 +1347,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.10/950-0046-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-5.10/950-0046-MMC-added-alternative-MMC-driver.patch index aeba685ae2..8818fff8c4 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0046-MMC-added-alternative-MMC-driver.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0046-MMC-added-alternative-MMC-driver.patch @@ -221,7 +221,7 @@ Signed-off-by: Yaroslav Rosomakho static inline int mmc_blk_part_switch(struct mmc_card *card, unsigned int part_type); static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq, -@@ -2898,6 +2905,7 @@ static int mmc_blk_probe(struct mmc_card +@@ -2897,6 +2904,7 @@ static int mmc_blk_probe(struct mmc_card { struct mmc_blk_data *md, *part_md; char cap_str[10]; @@ -229,7 +229,7 @@ Signed-off-by: Yaroslav Rosomakho /* * Check that the card supports the command class(es) we need. -@@ -2905,7 +2913,16 @@ static int mmc_blk_probe(struct mmc_card +@@ -2904,7 +2912,16 @@ static int mmc_blk_probe(struct mmc_card if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -247,7 +247,7 @@ Signed-off-by: Yaroslav Rosomakho card->complete_wq = alloc_workqueue("mmc_complete", WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); -@@ -2920,9 +2937,14 @@ static int mmc_blk_probe(struct mmc_card +@@ -2919,9 +2936,14 @@ static int mmc_blk_probe(struct mmc_card string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2, cap_str, sizeof(cap_str)); diff --git a/target/linux/bcm27xx/patches-5.10/950-0053-firmware-bcm2835-Support-ARCH_BCM270x.patch b/target/linux/bcm27xx/patches-5.10/950-0053-firmware-bcm2835-Support-ARCH_BCM270x.patch index 08d1e2af2d..d5ffe71018 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0053-firmware-bcm2835-Support-ARCH_BCM270x.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0053-firmware-bcm2835-Support-ARCH_BCM270x.patch @@ -27,8 +27,8 @@ Signed-off-by: Noralf Trønnes --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -29,6 +29,8 @@ struct rpi_firmware { - u32 enabled; +@@ -32,6 +32,8 @@ struct rpi_firmware { + struct kref consumers; }; +static struct platform_device *g_pdev; @@ -36,32 +36,46 @@ Signed-off-by: Noralf Trønnes static DEFINE_MUTEX(transaction_lock); static void response_callback(struct mbox_client *cl, void *msg) -@@ -249,6 +251,7 @@ static int rpi_firmware_probe(struct pla - init_completion(&fw->c); +@@ -272,6 +274,7 @@ static int rpi_firmware_probe(struct pla + kref_init(&fw->consumers); platform_set_drvdata(pdev, fw); + g_pdev = pdev; rpi_firmware_print_firmware_revision(fw); rpi_register_hwmon_driver(dev, fw); -@@ -276,6 +279,7 @@ static int rpi_firmware_remove(struct pl - platform_device_unregister(rpi_clk); - rpi_clk = NULL; - mbox_free_channel(fw->chan); -+ g_pdev = NULL; +@@ -301,6 +304,8 @@ static int rpi_firmware_remove(struct pl + rpi_firmware_put(fw); + ++ g_pdev = NULL; ++ return 0; } -@@ -288,7 +292,7 @@ static int rpi_firmware_remove(struct pl + +@@ -314,7 +319,7 @@ static int rpi_firmware_remove(struct pl */ struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node) { - struct platform_device *pdev = of_find_device_by_node(firmware_node); + struct platform_device *pdev = g_pdev; + struct rpi_firmware *fw; if (!pdev) - return NULL; -@@ -312,7 +316,18 @@ static struct platform_driver rpi_firmwa +@@ -327,12 +332,9 @@ struct rpi_firmware *rpi_firmware_get(st + if (!kref_get_unless_zero(&fw->consumers)) + goto err_put_device; + +- put_device(&pdev->dev); +- + return fw; + + err_put_device: +- put_device(&pdev->dev); + return NULL; + } + EXPORT_SYMBOL_GPL(rpi_firmware_get); +@@ -352,7 +354,18 @@ static struct platform_driver rpi_firmwa .shutdown = rpi_firmware_shutdown, .remove = rpi_firmware_remove, }; diff --git a/target/linux/bcm27xx/patches-5.10/950-0073-raspberrypi-firmware-Export-the-general-transaction-.patch b/target/linux/bcm27xx/patches-5.10/950-0073-raspberrypi-firmware-Export-the-general-transaction-.patch index 8450d5f48a..17f36af72d 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0073-raspberrypi-firmware-Export-the-general-transaction-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0073-raspberrypi-firmware-Export-the-general-transaction-.patch @@ -13,7 +13,7 @@ Signed-off-by: Eric Anholt --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -43,7 +43,7 @@ static void response_callback(struct mbo +@@ -46,7 +46,7 @@ static void response_callback(struct mbo * Sends a request to the firmware through the BCM2835 mailbox driver, * and synchronously waits for the reply. */ @@ -22,7 +22,7 @@ Signed-off-by: Eric Anholt rpi_firmware_transaction(struct rpi_firmware *fw, u32 chan, u32 data) { u32 message = MBOX_MSG(chan, data); -@@ -68,6 +68,7 @@ rpi_firmware_transaction(struct rpi_firm +@@ -71,6 +71,7 @@ rpi_firmware_transaction(struct rpi_firm return ret; } diff --git a/target/linux/bcm27xx/patches-5.10/950-0079-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch b/target/linux/bcm27xx/patches-5.10/950-0079-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch index bdcf5c4b42..89d11f0b8b 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0079-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0079-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch @@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -11,6 +11,7 @@ +@@ -12,6 +12,7 @@ #include #include #include @@ -21,7 +21,7 @@ Signed-off-by: Phil Elwell #include #include -@@ -177,6 +178,26 @@ int rpi_firmware_property(struct rpi_fir +@@ -180,6 +181,26 @@ int rpi_firmware_property(struct rpi_fir } EXPORT_SYMBOL_GPL(rpi_firmware_property); @@ -48,7 +48,7 @@ Signed-off-by: Phil Elwell static void rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) { -@@ -318,15 +339,32 @@ static struct platform_driver rpi_firmwa +@@ -356,15 +377,32 @@ static struct platform_driver rpi_firmwa .remove = rpi_firmware_remove, }; diff --git a/target/linux/bcm27xx/patches-5.10/950-0087-firmware-raspberrypi-Add-backward-compatible-get_thr.patch b/target/linux/bcm27xx/patches-5.10/950-0087-firmware-raspberrypi-Add-backward-compatible-get_thr.patch index ac331f34dc..9149c7e791 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0087-firmware-raspberrypi-Add-backward-compatible-get_thr.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0087-firmware-raspberrypi-Add-backward-compatible-get_thr.patch @@ -16,15 +16,15 @@ Signed-off-by: Stefan Wahren --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -28,6 +28,7 @@ struct rpi_firmware { +@@ -29,6 +29,7 @@ struct rpi_firmware { struct mbox_chan *chan; /* The property channel. */ struct completion c; u32 enabled; + u32 get_throttled; - }; - static struct platform_device *g_pdev; -@@ -174,6 +175,12 @@ int rpi_firmware_property(struct rpi_fir + struct kref consumers; + }; +@@ -177,6 +178,12 @@ int rpi_firmware_property(struct rpi_fir kfree(data); @@ -37,7 +37,7 @@ Signed-off-by: Stefan Wahren return ret; } EXPORT_SYMBOL_GPL(rpi_firmware_property); -@@ -198,6 +205,27 @@ static int rpi_firmware_notify_reboot(st +@@ -201,6 +208,27 @@ static int rpi_firmware_notify_reboot(st return 0; } @@ -65,7 +65,7 @@ Signed-off-by: Stefan Wahren static void rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) { -@@ -227,6 +255,11 @@ rpi_register_hwmon_driver(struct device +@@ -230,6 +258,11 @@ rpi_register_hwmon_driver(struct device rpi_hwmon = platform_device_register_data(dev, "raspberrypi-hwmon", -1, NULL, 0); diff --git a/target/linux/bcm27xx/patches-5.10/950-0093-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch b/target/linux/bcm27xx/patches-5.10/950-0093-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch index 64df0f7c7f..6cfca9d4f2 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0093-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0093-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch @@ -27,7 +27,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -231,6 +231,15 @@ rpi_firmware_print_firmware_revision(str +@@ -234,6 +234,15 @@ rpi_firmware_print_firmware_revision(str { time64_t date_and_time; u32 packet; @@ -43,7 +43,7 @@ Signed-off-by: Dave Stevenson int ret = rpi_firmware_property(fw, RPI_FIRMWARE_GET_FIRMWARE_REVISION, &packet, sizeof(packet)); -@@ -240,7 +249,35 @@ rpi_firmware_print_firmware_revision(str +@@ -243,7 +252,35 @@ rpi_firmware_print_firmware_revision(str /* This is not compatible with y2038 */ date_and_time = packet; @@ -80,7 +80,7 @@ Signed-off-by: Dave Stevenson } static void -@@ -309,6 +346,7 @@ static int rpi_firmware_probe(struct pla +@@ -332,6 +369,7 @@ static int rpi_firmware_probe(struct pla g_pdev = pdev; rpi_firmware_print_firmware_revision(fw); diff --git a/target/linux/bcm27xx/patches-5.10/950-0138-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/target/linux/bcm27xx/patches-5.10/950-0138-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch index a168528edf..43da930871 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0138-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0138-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch @@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell extern int usb_driver_set_configuration(struct usb_device *udev, int config); --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h -@@ -382,6 +382,11 @@ struct hc_driver { +@@ -384,6 +384,11 @@ struct hc_driver { * or bandwidth constraints. */ void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); @@ -93,7 +93,7 @@ Signed-off-by: Jonathan Bell /* Returns the hardware-chosen device address */ int (*address_device)(struct usb_hcd *, struct usb_device *udev); /* prepares the hardware to send commands to the device */ -@@ -443,6 +448,8 @@ extern void usb_hcd_unmap_urb_setup_for_ +@@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_ extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *); extern void usb_hcd_flush_endpoint(struct usb_device *udev, struct usb_host_endpoint *ep); diff --git a/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch index 406bb04d46..391af473d1 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch @@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -1467,6 +1467,103 @@ command_cleanup: +@@ -1468,6 +1468,103 @@ command_cleanup: } /* @@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell * non-error returns are a promise to giveback() the urb later * we drop ownership so next owner (or urb unlink) can get it */ -@@ -5361,6 +5458,7 @@ static const struct hc_driver xhci_hc_dr +@@ -5362,6 +5459,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.10/950-0183-Initialise-rpi-firmware-before-clk-bcm2835.patch b/target/linux/bcm27xx/patches-5.10/950-0183-Initialise-rpi-firmware-before-clk-bcm2835.patch index dcd9ff4346..0caa234fd4 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0183-Initialise-rpi-firmware-before-clk-bcm2835.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0183-Initialise-rpi-firmware-before-clk-bcm2835.patch @@ -36,7 +36,7 @@ Co-authored-by: Phil Elwell MODULE_DESCRIPTION("BCM2835 clock driver"); --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -430,7 +430,7 @@ out2: +@@ -468,7 +468,7 @@ out2: out1: return ret; } diff --git a/target/linux/bcm27xx/patches-5.10/950-0201-mmc-sdhci-Silence-MMC-warnings.patch b/target/linux/bcm27xx/patches-5.10/950-0201-mmc-sdhci-Silence-MMC-warnings.patch index 071aa0287c..e015cc81c6 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0201-mmc-sdhci-Silence-MMC-warnings.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0201-mmc-sdhci-Silence-MMC-warnings.patch @@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard #define MAX_TUNING_LOOP 40 -@@ -3126,7 +3126,7 @@ static void sdhci_timeout_timer(struct t +@@ -3127,7 +3127,7 @@ static void sdhci_timeout_timer(struct t spin_lock_irqsave(&host->lock, flags); if (host->cmd && !sdhci_data_line_cmd(host->cmd)) { @@ -31,7 +31,7 @@ Signed-off-by: Maxime Ripard mmc_hostname(host->mmc)); sdhci_dumpregs(host); -@@ -3148,7 +3148,7 @@ static void sdhci_timeout_data_timer(str +@@ -3149,7 +3149,7 @@ static void sdhci_timeout_data_timer(str if (host->data || host->data_cmd || (host->cmd && sdhci_data_line_cmd(host->cmd))) { diff --git a/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch b/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch index a11a43f80c..f3eaa06825 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch @@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1488,9 +1488,6 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1490,9 +1490,6 @@ static int vc4_hdmi_cec_init(struct vc4_ u32 value; int ret; @@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, vc4_hdmi, "vc4", CEC_CAP_DEFAULTS | -@@ -1910,7 +1907,6 @@ static const struct vc4_hdmi_variant bcm +@@ -1912,7 +1909,6 @@ static const struct vc4_hdmi_variant bcm .debugfs_name = "hdmi_regs", .card_name = "vc4-hdmi", .max_pixel_clock = 162000000, diff --git a/target/linux/bcm27xx/patches-5.10/950-0312-vc4_hdmi-Set-HD_CTL_WHOLSMP-and-HD_CTL_CHALIGN_SET.patch b/target/linux/bcm27xx/patches-5.10/950-0312-vc4_hdmi-Set-HD_CTL_WHOLSMP-and-HD_CTL_CHALIGN_SET.patch deleted file mode 100644 index 3ab091ba33..0000000000 --- a/target/linux/bcm27xx/patches-5.10/950-0312-vc4_hdmi-Set-HD_CTL_WHOLSMP-and-HD_CTL_CHALIGN_SET.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 1a0b802bb6bca3b42034245d35b56309749a362c Mon Sep 17 00:00:00 2001 -From: Dom Cobley -Date: Tue, 23 Jun 2020 18:37:01 +0100 -Subject: [PATCH] vc4_hdmi: Set HD_CTL_WHOLSMP and HD_CTL_CHALIGN_SET - -Symptom is random switching of speakers when using multichannel. - -Repeatedly running speakertest -c8 occasionally starts with -channels jumbled. This is fixed with HD_CTL_WHOLSMP. - -The other bit looks beneficial and apears harmless in testing so -I'd suggest adding it too. - -Documentation says: HD_CTL_WHILSMP_SET -Wait for whole sample. When this bit is set MAI transmit will start -only when there is at least one whole sample available in the fifo. - -Documentation says: HD_CTL_CHALIGN_SET -Channel Align When Overflow. This bit is used to realign the audio -channels in case of an overflow. -If this bit is set, after the detection of an overflow, equal -amount of dummy words to the missing words will be written to fifo, -filling up the broken sample and maintaining alignment. - -Signed-off-by: Dom Cobley ---- - drivers/gpu/drm/vc4/vc4_hdmi.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- a/drivers/gpu/drm/vc4/vc4_hdmi.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1074,7 +1074,9 @@ static int vc4_hdmi_audio_trigger(struct - HDMI_WRITE(HDMI_MAI_CTL, - VC4_SET_FIELD(vc4_hdmi->audio.channels, - VC4_HD_MAI_CTL_CHNUM) | -- VC4_HD_MAI_CTL_ENABLE); -+ VC4_HD_MAI_CTL_WHOLSMP | -+ VC4_HD_MAI_CTL_CHALIGN | -+ VC4_HD_MAI_CTL_ENABLE); - break; - case SNDRV_PCM_TRIGGER_STOP: - HDMI_WRITE(HDMI_MAI_CTL, diff --git a/target/linux/bcm27xx/patches-5.10/950-0370-firmware-raspberrypi-Add-support-for-tryonce-reboot-.patch b/target/linux/bcm27xx/patches-5.10/950-0370-firmware-raspberrypi-Add-support-for-tryonce-reboot-.patch index ea48f5ac89..2fa1b068e7 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0370-firmware-raspberrypi-Add-support-for-tryonce-reboot-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0370-firmware-raspberrypi-Add-support-for-tryonce-reboot-.patch @@ -20,7 +20,7 @@ mechanism to be implemented for OS upgrades. --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -191,6 +191,7 @@ static int rpi_firmware_notify_reboot(st +@@ -194,6 +194,7 @@ static int rpi_firmware_notify_reboot(st { struct rpi_firmware *fw; struct platform_device *pdev = g_pdev; @@ -28,7 +28,7 @@ mechanism to be implemented for OS upgrades. if (!pdev) return 0; -@@ -199,8 +200,28 @@ static int rpi_firmware_notify_reboot(st +@@ -202,8 +203,28 @@ static int rpi_firmware_notify_reboot(st if (!fw) return 0; diff --git a/target/linux/bcm27xx/patches-5.10/950-0408-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch b/target/linux/bcm27xx/patches-5.10/950-0408-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch index 3953a1d0ab..a1697f4b44 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0408-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0408-drm-atomic-Pass-the-full-state-to-CRTC-atomic-enable.patch @@ -698,7 +698,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1 struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state); --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c -@@ -303,7 +303,7 @@ static void mxsfb_crtc_atomic_flush(stru +@@ -343,7 +343,7 @@ static void mxsfb_crtc_atomic_flush(stru } static void mxsfb_crtc_atomic_enable(struct drm_crtc *crtc, @@ -707,7 +707,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1 { struct mxsfb_drm_private *mxsfb = to_mxsfb_drm_private(crtc->dev); struct drm_device *drm = mxsfb->drm; -@@ -327,7 +327,7 @@ static void mxsfb_crtc_atomic_enable(str +@@ -367,7 +367,7 @@ static void mxsfb_crtc_atomic_enable(str } static void mxsfb_crtc_atomic_disable(struct drm_crtc *crtc, @@ -1114,7 +1114,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/845aa10ef171fc0ea060495efef1 { struct zynqmp_disp *disp = crtc_to_disp(crtc); struct drm_display_mode *adjusted_mode = &crtc->state->adjusted_mode; -@@ -1472,8 +1472,10 @@ zynqmp_disp_crtc_atomic_enable(struct dr +@@ -1473,8 +1473,10 @@ zynqmp_disp_crtc_atomic_enable(struct dr static void zynqmp_disp_crtc_atomic_disable(struct drm_crtc *crtc, diff --git a/target/linux/bcm27xx/patches-5.10/950-0409-drm-atomic-Pass-the-full-state-to-CRTC-atomic_check.patch b/target/linux/bcm27xx/patches-5.10/950-0409-drm-atomic-Pass-the-full-state-to-CRTC-atomic_check.patch index 86481e8955..5724b865c7 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0409-drm-atomic-Pass-the-full-state-to-CRTC-atomic_check.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0409-drm-atomic-Pass-the-full-state-to-CRTC-atomic_check.patch @@ -638,7 +638,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-1-max * and that we don't have conflicting mixer stages: --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c -@@ -270,17 +270,19 @@ static void mxsfb_crtc_mode_set_nofb(str +@@ -310,17 +310,19 @@ static void mxsfb_crtc_mode_set_nofb(str } static int mxsfb_crtc_atomic_check(struct drm_crtc *crtc, @@ -990,7 +990,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-1-max void vmw_du_crtc_atomic_flush(struct drm_crtc *crtc, --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c -@@ -1505,9 +1505,11 @@ zynqmp_disp_crtc_atomic_disable(struct d +@@ -1506,9 +1506,11 @@ zynqmp_disp_crtc_atomic_disable(struct d } static int zynqmp_disp_crtc_atomic_check(struct drm_crtc *crtc, diff --git a/target/linux/bcm27xx/patches-5.10/950-0410-drm-atomic-Pass-the-full-state-to-CRTC-atomic-begin-.patch b/target/linux/bcm27xx/patches-5.10/950-0410-drm-atomic-Pass-the-full-state-to-CRTC-atomic-begin-.patch index 86a918a40e..48fe8da760 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0410-drm-atomic-Pass-the-full-state-to-CRTC-atomic-begin-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0410-drm-atomic-Pass-the-full-state-to-CRTC-atomic-begin-.patch @@ -680,7 +680,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max struct mdp5_crtc_state *mdp5_cstate = to_mdp5_crtc_state(crtc->state); --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c -@@ -286,7 +286,7 @@ static int mxsfb_crtc_atomic_check(struc +@@ -326,7 +326,7 @@ static int mxsfb_crtc_atomic_check(struc } static void mxsfb_crtc_atomic_flush(struct drm_crtc *crtc, @@ -968,7 +968,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max void vmw_du_crtc_destroy_state(struct drm_crtc *crtc, --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c -@@ -1514,14 +1514,14 @@ static int zynqmp_disp_crtc_atomic_check +@@ -1515,14 +1515,14 @@ static int zynqmp_disp_crtc_atomic_check static void zynqmp_disp_crtc_atomic_begin(struct drm_crtc *crtc, diff --git a/target/linux/bcm27xx/patches-5.10/950-0686-drm-Use-the-state-pointer-directly-in-atomic_check.patch b/target/linux/bcm27xx/patches-5.10/950-0686-drm-Use-the-state-pointer-directly-in-atomic_check.patch index 2d16e5a2f7..41b4e3d873 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0686-drm-Use-the-state-pointer-directly-in-atomic_check.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0686-drm-Use-the-state-pointer-directly-in-atomic_check.patch @@ -75,7 +75,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201102133834.1176740-3-max static void drm_simple_kms_crtc_enable(struct drm_crtc *crtc, --- a/drivers/gpu/drm/mxsfb/mxsfb_kms.c +++ b/drivers/gpu/drm/mxsfb/mxsfb_kms.c -@@ -282,7 +282,7 @@ static int mxsfb_crtc_atomic_check(struc +@@ -322,7 +322,7 @@ static int mxsfb_crtc_atomic_check(struc return -EINVAL; /* TODO: Is this needed ? */ @@ -123,7 +123,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201102133834.1176740-3-max continue; --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c -@@ -1507,9 +1507,7 @@ zynqmp_disp_crtc_atomic_disable(struct d +@@ -1508,9 +1508,7 @@ zynqmp_disp_crtc_atomic_disable(struct d static int zynqmp_disp_crtc_atomic_check(struct drm_crtc *crtc, struct drm_atomic_state *state) { diff --git a/target/linux/bcm27xx/patches-5.10/950-0735-xhci-guard-accesses-to-ep_state-in-xhci_endpoint_res.patch b/target/linux/bcm27xx/patches-5.10/950-0735-xhci-guard-accesses-to-ep_state-in-xhci_endpoint_res.patch index d9a51605d4..9cf5aa2e99 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0735-xhci-guard-accesses-to-ep_state-in-xhci_endpoint_res.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0735-xhci-guard-accesses-to-ep_state-in-xhci_endpoint_res.patch @@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -3269,10 +3269,13 @@ static void xhci_endpoint_reset(struct u +@@ -3270,10 +3270,13 @@ static void xhci_endpoint_reset(struct u return; /* Bail out if toggle is already being cleared by a endpoint reset */ @@ -30,7 +30,7 @@ Signed-off-by: Jonathan Bell /* Only interrupt and bulk ep's use data toggle, USB2 spec 5.5.4-> */ if (usb_endpoint_xfer_control(&host_ep->desc) || usb_endpoint_xfer_isoc(&host_ep->desc)) -@@ -3358,8 +3361,10 @@ static void xhci_endpoint_reset(struct u +@@ -3359,8 +3362,10 @@ static void xhci_endpoint_reset(struct u xhci_free_command(xhci, cfg_cmd); cleanup: xhci_free_command(xhci, stop_cmd); diff --git a/target/linux/bcm53xx/patches-5.10/099-net-bcma-handle-deferred-probe.patch b/target/linux/bcm53xx/patches-5.10/099-net-bcma-handle-deferred-probe.patch index db2d98593e..628d7cddf2 100644 --- a/target/linux/bcm53xx/patches-5.10/099-net-bcma-handle-deferred-probe.patch +++ b/target/linux/bcm53xx/patches-5.10/099-net-bcma-handle-deferred-probe.patch @@ -28,11 +28,9 @@ Signed-off-by: David S. Miller drivers/net/ethernet/broadcom/bgmac-bcma.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/net/ethernet/broadcom/bgmac-bcma.c b/drivers/net/ethernet/broadcom/bgmac-bcma.c -index 85fa0ab7201c7..9513cfb5ba58c 100644 --- a/drivers/net/ethernet/broadcom/bgmac-bcma.c +++ b/drivers/net/ethernet/broadcom/bgmac-bcma.c -@@ -129,6 +129,8 @@ static int bgmac_probe(struct bcma_device *core) +@@ -129,6 +129,8 @@ static int bgmac_probe(struct bcma_devic bcma_set_drvdata(core, bgmac); err = of_get_mac_address(bgmac->dev->of_node, bgmac->net_dev->dev_addr); @@ -41,6 +39,3 @@ index 85fa0ab7201c7..9513cfb5ba58c 100644 /* If no MAC address assigned via device tree, check SPROM */ if (err) { --- -cgit 1.2.3-1.el7 - diff --git a/target/linux/bcm53xx/patches-5.10/181-Revert-USB-bcma-Add-a-check-for-devm_gpiod_get.patch b/target/linux/bcm53xx/patches-5.10/181-Revert-USB-bcma-Add-a-check-for-devm_gpiod_get.patch deleted file mode 100644 index 9e424760ce..0000000000 --- a/target/linux/bcm53xx/patches-5.10/181-Revert-USB-bcma-Add-a-check-for-devm_gpiod_get.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Tue, 31 Aug 2021 08:40:49 +0200 -Subject: [PATCH fix] Revert "USB: bcma: Add a check for devm_gpiod_get" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This reverts commit f3de5d857bb2362b00e2a8d4bc886cd49dcb66db. - -That commit broke USB on all routers that have USB always powered on and -don't require toggling any GPIO. It's a majority of devices actually. - -The original code worked and seemed safe: vcc GPIO is optional and -bcma_hci_platform_power_gpio() takes care of checking the pointer before -using it. - -This revert fixes: -[ 10.801127] bcma_hcd: probe of bcma0:11 failed with error -2 - -Cc: Chuhong Yuan -Signed-off-by: Rafał Miłecki ---- - drivers/usb/host/bcma-hcd.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - ---- a/drivers/usb/host/bcma-hcd.c -+++ b/drivers/usb/host/bcma-hcd.c -@@ -406,12 +406,9 @@ static int bcma_hcd_probe(struct bcma_de - return -ENOMEM; - usb_dev->core = core; - -- if (core->dev.of_node) { -+ if (core->dev.of_node) - usb_dev->gpio_desc = devm_gpiod_get(&core->dev, "vcc", - GPIOD_OUT_HIGH); -- if (IS_ERR(usb_dev->gpio_desc)) -- return PTR_ERR(usb_dev->gpio_desc); -- } - - switch (core->id.id) { - case BCMA_CORE_USB20_HOST: diff --git a/target/linux/bcm53xx/patches-5.10/905-BCM53573-minor-hacks.patch b/target/linux/bcm53xx/patches-5.10/905-BCM53573-minor-hacks.patch index a1d27949f0..9aaa72595d 100644 --- a/target/linux/bcm53xx/patches-5.10/905-BCM53573-minor-hacks.patch +++ b/target/linux/bcm53xx/patches-5.10/905-BCM53573-minor-hacks.patch @@ -21,7 +21,7 @@ Signed-off-by: Rafał Miłecki clocks { --- a/drivers/bcma/main.c +++ b/drivers/bcma/main.c -@@ -330,14 +330,6 @@ static int bcma_register_devices(struct +@@ -328,14 +328,6 @@ static int bcma_register_devices(struct } #endif @@ -36,7 +36,7 @@ Signed-off-by: Rafał Miłecki #ifdef CONFIG_BCMA_NFLASH if (bus->drv_cc.nflash.present) { err = platform_device_register(&bcma_nflash_dev); -@@ -415,6 +407,14 @@ int bcma_bus_register(struct bcma_bus *b +@@ -413,6 +405,14 @@ int bcma_bus_register(struct bcma_bus *b bcma_register_core(bus, core); } diff --git a/target/linux/gemini/patches-5.10/0001-usb-host-fotg2-add-Gemini-specific-handling.patch b/target/linux/gemini/patches-5.10/0001-usb-host-fotg2-add-Gemini-specific-handling.patch index 657956a760..937c9824f4 100644 --- a/target/linux/gemini/patches-5.10/0001-usb-host-fotg2-add-Gemini-specific-handling.patch +++ b/target/linux/gemini/patches-5.10/0001-usb-host-fotg2-add-Gemini-specific-handling.patch @@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij #include #include -@@ -5556,6 +5560,72 @@ static void fotg210_init(struct fotg210_ +@@ -5553,6 +5557,72 @@ static void fotg210_init(struct fotg210_ } /* @@ -116,7 +116,7 @@ Signed-off-by: Linus Walleij * fotg210_hcd_probe - initialize faraday FOTG210 HCDs * * Allocates basic resources for this USB host controller, and -@@ -5632,6 +5702,12 @@ static int fotg210_hcd_probe(struct plat +@@ -5629,6 +5699,12 @@ static int fotg210_hcd_probe(struct plat fotg210_init(fotg210); diff --git a/target/linux/generic/backport-5.10/610-v5.13-01-netfilter-flowtable-separate-replace-destroy-and-sta.patch b/target/linux/generic/backport-5.10/610-v5.13-01-netfilter-flowtable-separate-replace-destroy-and-sta.patch index 957b741eac..d98b4bfb7f 100644 --- a/target/linux/generic/backport-5.10/610-v5.13-01-netfilter-flowtable-separate-replace-destroy-and-sta.patch +++ b/target/linux/generic/backport-5.10/610-v5.13-01-netfilter-flowtable-separate-replace-destroy-and-sta.patch @@ -58,7 +58,7 @@ Signed-off-by: Pablo Neira Ayuso } static int nf_flow_table_block_setup(struct nf_flowtable *flowtable, -@@ -1012,15 +1022,33 @@ EXPORT_SYMBOL_GPL(nf_flow_table_offload_ +@@ -1013,15 +1023,33 @@ EXPORT_SYMBOL_GPL(nf_flow_table_offload_ int nf_flow_table_offload_init(void) { diff --git a/target/linux/generic/backport-5.10/610-v5.13-02-netfilter-Fix-fall-through-warnings-for-Clang.patch b/target/linux/generic/backport-5.10/610-v5.13-02-netfilter-Fix-fall-through-warnings-for-Clang.patch deleted file mode 100644 index 0aadc2411b..0000000000 --- a/target/linux/generic/backport-5.10/610-v5.13-02-netfilter-Fix-fall-through-warnings-for-Clang.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: "Gustavo A. R. Silva" -Date: Tue, 23 Mar 2021 00:56:20 +0100 -Subject: [PATCH] netfilter: Fix fall-through warnings for Clang - -In preparation to enable -Wimplicit-fallthrough for Clang, fix multiple -warnings by explicitly adding multiple break statements instead of just -letting the code fall through to the next case. - -Link: https://github.com/KSPP/linux/issues/115 -Acked-by: Florian Westphal -Signed-off-by: Gustavo A. R. Silva -Signed-off-by: Pablo Neira Ayuso ---- - ---- a/net/netfilter/nf_conntrack_proto_dccp.c -+++ b/net/netfilter/nf_conntrack_proto_dccp.c -@@ -397,6 +397,7 @@ dccp_new(struct nf_conn *ct, const struc - msg = "not picking up existing connection "; - goto out_invalid; - } -+ break; - case CT_DCCP_REQUEST: - break; - case CT_DCCP_INVALID: ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -8394,6 +8394,7 @@ static int nf_tables_check_loops(const s - data->verdict.chain); - if (err < 0) - return err; -+ break; - default: - break; - } ---- a/net/netfilter/nft_ct.c -+++ b/net/netfilter/nft_ct.c -@@ -528,6 +528,7 @@ static void __nft_ct_set_destroy(const s - case NFT_CT_ZONE: - if (--nft_ct_pcpu_template_refcnt == 0) - nft_ct_tmpl_put_pcpu(); -+ break; - #endif - default: - break; diff --git a/target/linux/generic/backport-5.10/771-v5.12-net-dsa-be-louder-when-a-non-legacy-FDB-operation-fa.patch b/target/linux/generic/backport-5.10/771-v5.12-net-dsa-be-louder-when-a-non-legacy-FDB-operation-fa.patch index 7715e99647..f9337590f7 100644 --- a/target/linux/generic/backport-5.10/771-v5.12-net-dsa-be-louder-when-a-non-legacy-FDB-operation-fa.patch +++ b/target/linux/generic/backport-5.10/771-v5.12-net-dsa-be-louder-when-a-non-legacy-FDB-operation-fa.patch @@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski --- a/net/dsa/slave.c +++ b/net/dsa/slave.c -@@ -2114,7 +2114,9 @@ static void dsa_slave_switchdev_event_wo +@@ -2112,7 +2112,9 @@ static void dsa_slave_switchdev_event_wo err = dsa_port_fdb_add(dp, fdb_info->addr, fdb_info->vid); if (err) { @@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski break; } fdb_info->offloaded = true; -@@ -2129,9 +2131,11 @@ static void dsa_slave_switchdev_event_wo +@@ -2127,9 +2129,11 @@ static void dsa_slave_switchdev_event_wo err = dsa_port_fdb_del(dp, fdb_info->addr, fdb_info->vid); if (err) { diff --git a/target/linux/generic/backport-5.10/772-v5.12-net-dsa-don-t-use-switchdev_notifier_fdb_info-in-dsa.patch b/target/linux/generic/backport-5.10/772-v5.12-net-dsa-don-t-use-switchdev_notifier_fdb_info-in-dsa.patch index fcd108332b..c1aa8fda82 100644 --- a/target/linux/generic/backport-5.10/772-v5.12-net-dsa-don-t-use-switchdev_notifier_fdb_info-in-dsa.patch +++ b/target/linux/generic/backport-5.10/772-v5.12-net-dsa-don-t-use-switchdev_notifier_fdb_info-in-dsa.patch @@ -54,7 +54,7 @@ Signed-off-by: Jakub Kicinski struct sk_buff * (*xmit)(struct sk_buff *skb, --- a/net/dsa/slave.c +++ b/net/dsa/slave.c -@@ -2089,76 +2089,66 @@ static int dsa_slave_netdevice_event(str +@@ -2087,76 +2087,66 @@ static int dsa_slave_netdevice_event(str return NOTIFY_DONE; } @@ -167,7 +167,7 @@ Signed-off-by: Jakub Kicinski } /* Called under rcu_read_lock() */ -@@ -2166,7 +2156,9 @@ static int dsa_slave_switchdev_event(str +@@ -2164,7 +2154,9 @@ static int dsa_slave_switchdev_event(str unsigned long event, void *ptr) { struct net_device *dev = switchdev_notifier_info_to_dev(ptr); @@ -177,7 +177,7 @@ Signed-off-by: Jakub Kicinski int err; if (event == SWITCHDEV_PORT_ATTR_SET) { -@@ -2179,20 +2171,32 @@ static int dsa_slave_switchdev_event(str +@@ -2177,20 +2169,32 @@ static int dsa_slave_switchdev_event(str if (!dsa_slave_dev_check(dev)) return NOTIFY_DONE; @@ -213,7 +213,7 @@ Signed-off-by: Jakub Kicinski dev_hold(dev); break; default: -@@ -2202,10 +2206,6 @@ static int dsa_slave_switchdev_event(str +@@ -2200,10 +2204,6 @@ static int dsa_slave_switchdev_event(str dsa_schedule_work(&switchdev_work->work); return NOTIFY_OK; diff --git a/target/linux/generic/backport-5.10/773-v5.12-net-dsa-move-switchdev-event-implementation-under-th.patch b/target/linux/generic/backport-5.10/773-v5.12-net-dsa-move-switchdev-event-implementation-under-th.patch index 12b5f4222a..9131df70d3 100644 --- a/target/linux/generic/backport-5.10/773-v5.12-net-dsa-move-switchdev-event-implementation-under-th.patch +++ b/target/linux/generic/backport-5.10/773-v5.12-net-dsa-move-switchdev-event-implementation-under-th.patch @@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski --- a/net/dsa/slave.c +++ b/net/dsa/slave.c -@@ -2161,31 +2161,29 @@ static int dsa_slave_switchdev_event(str +@@ -2159,31 +2159,29 @@ static int dsa_slave_switchdev_event(str struct dsa_port *dp; int err; @@ -68,7 +68,7 @@ Signed-off-by: Jakub Kicinski fdb_info = ptr; if (!fdb_info->added_by_user) { -@@ -2198,13 +2196,12 @@ static int dsa_slave_switchdev_event(str +@@ -2196,13 +2194,12 @@ static int dsa_slave_switchdev_event(str switchdev_work->vid = fdb_info->vid; dev_hold(dev); diff --git a/target/linux/generic/backport-5.10/774-v5.12-net-dsa-exit-early-in-dsa_slave_switchdev_event-if-w.patch b/target/linux/generic/backport-5.10/774-v5.12-net-dsa-exit-early-in-dsa_slave_switchdev_event-if-w.patch index ba163ec77e..b7b6ebe461 100644 --- a/target/linux/generic/backport-5.10/774-v5.12-net-dsa-exit-early-in-dsa_slave_switchdev_event-if-w.patch +++ b/target/linux/generic/backport-5.10/774-v5.12-net-dsa-exit-early-in-dsa_slave_switchdev_event-if-w.patch @@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski --- a/net/dsa/slave.c +++ b/net/dsa/slave.c -@@ -2174,6 +2174,9 @@ static int dsa_slave_switchdev_event(str +@@ -2172,6 +2172,9 @@ static int dsa_slave_switchdev_event(str dp = dsa_slave_to_port(dev); diff --git a/target/linux/generic/backport-5.10/775-v5.12-net-dsa-listen-for-SWITCHDEV_-FDB-DEL-_ADD_TO_DEVICE.patch b/target/linux/generic/backport-5.10/775-v5.12-net-dsa-listen-for-SWITCHDEV_-FDB-DEL-_ADD_TO_DEVICE.patch index 70d6629ee7..e7b9af1951 100644 --- a/target/linux/generic/backport-5.10/775-v5.12-net-dsa-listen-for-SWITCHDEV_-FDB-DEL-_ADD_TO_DEVICE.patch +++ b/target/linux/generic/backport-5.10/775-v5.12-net-dsa-listen-for-SWITCHDEV_-FDB-DEL-_ADD_TO_DEVICE.patch @@ -170,7 +170,7 @@ Signed-off-by: Jakub Kicinski */ --- a/net/dsa/slave.c +++ b/net/dsa/slave.c -@@ -2151,6 +2151,28 @@ static void dsa_slave_switchdev_event_wo +@@ -2149,6 +2149,28 @@ static void dsa_slave_switchdev_event_wo dev_put(dp->slave); } @@ -199,7 +199,7 @@ Signed-off-by: Jakub Kicinski /* Called under rcu_read_lock() */ static int dsa_slave_switchdev_event(struct notifier_block *unused, unsigned long event, void *ptr) -@@ -2169,10 +2191,37 @@ static int dsa_slave_switchdev_event(str +@@ -2167,10 +2189,37 @@ static int dsa_slave_switchdev_event(str return notifier_from_errno(err); case SWITCHDEV_FDB_ADD_TO_DEVICE: case SWITCHDEV_FDB_DEL_TO_DEVICE: @@ -240,7 +240,7 @@ Signed-off-by: Jakub Kicinski if (!dp->ds->ops->port_fdb_add || !dp->ds->ops->port_fdb_del) return NOTIFY_DONE; -@@ -2187,18 +2236,13 @@ static int dsa_slave_switchdev_event(str +@@ -2185,18 +2234,13 @@ static int dsa_slave_switchdev_event(str switchdev_work->port = dp->index; switchdev_work->event = event; diff --git a/target/linux/generic/backport-5.10/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch b/target/linux/generic/backport-5.10/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch index 547068ee22..a2e31fab82 100644 --- a/target/linux/generic/backport-5.10/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch +++ b/target/linux/generic/backport-5.10/782-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch @@ -1047,7 +1047,7 @@ Signed-off-by: David S. Miller "no valid MAC address supplied, using a random one\n"); --- a/drivers/net/ethernet/renesas/sh_eth.c +++ b/drivers/net/ethernet/renesas/sh_eth.c -@@ -3144,7 +3144,6 @@ static struct sh_eth_plat_data *sh_eth_p +@@ -3145,7 +3145,6 @@ static struct sh_eth_plat_data *sh_eth_p struct device_node *np = dev->of_node; struct sh_eth_plat_data *pdata; phy_interface_t interface; @@ -1055,7 +1055,7 @@ Signed-off-by: David S. Miller int ret; pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL); -@@ -3156,9 +3155,7 @@ static struct sh_eth_plat_data *sh_eth_p +@@ -3157,9 +3156,7 @@ static struct sh_eth_plat_data *sh_eth_p return NULL; pdata->phy_interface = interface; @@ -1566,7 +1566,7 @@ Signed-off-by: David S. Miller of_id = of_match_device(w5100_of_match, &spi->dev); --- a/drivers/net/ethernet/wiznet/w5100.c +++ b/drivers/net/ethernet/wiznet/w5100.c -@@ -1157,7 +1157,7 @@ int w5100_probe(struct device *dev, cons +@@ -1159,7 +1159,7 @@ int w5100_probe(struct device *dev, cons INIT_WORK(&priv->setrx_work, w5100_setrx_work); INIT_WORK(&priv->restart_work, w5100_restart_work); @@ -1902,7 +1902,7 @@ Signed-off-by: David S. Miller break; --- a/net/dsa/slave.c +++ b/net/dsa/slave.c -@@ -1857,7 +1857,7 @@ int dsa_slave_create(struct dsa_port *po +@@ -1855,7 +1855,7 @@ int dsa_slave_create(struct dsa_port *po slave_dev->hw_features |= NETIF_F_HW_TC; slave_dev->features |= NETIF_F_LLTX; slave_dev->ethtool_ops = &dsa_slave_ethtool_ops; diff --git a/target/linux/generic/backport-5.10/790-v5.13-0003-net-dsa-b53-relax-is63xx-condition.patch b/target/linux/generic/backport-5.10/790-v5.13-0003-net-dsa-b53-relax-is63xx-condition.patch index ef5522ad33..99eced1b6a 100644 --- a/target/linux/generic/backport-5.10/790-v5.13-0003-net-dsa-b53-relax-is63xx-condition.patch +++ b/target/linux/generic/backport-5.10/790-v5.13-0003-net-dsa-b53-relax-is63xx-condition.patch @@ -17,7 +17,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/b53/b53_priv.h +++ b/drivers/net/dsa/b53/b53_priv.h -@@ -185,11 +185,7 @@ static inline int is531x5(struct b53_dev +@@ -186,11 +186,7 @@ static inline int is531x5(struct b53_dev static inline int is63xx(struct b53_device *dev) { diff --git a/target/linux/generic/backport-5.10/791-v5.14-0001-net-dsa-b53-Do-not-force-CPU-to-be-always-tagged.patch b/target/linux/generic/backport-5.10/791-v5.14-0001-net-dsa-b53-Do-not-force-CPU-to-be-always-tagged.patch index 420e3ae31b..2a8def39b8 100644 --- a/target/linux/generic/backport-5.10/791-v5.14-0001-net-dsa-b53-Do-not-force-CPU-to-be-always-tagged.patch +++ b/target/linux/generic/backport-5.10/791-v5.14-0001-net-dsa-b53-Do-not-force-CPU-to-be-always-tagged.patch @@ -76,7 +76,7 @@ Signed-off-by: David S. Miller vl->untag &= ~(BIT(port)); b53_set_vlan_entry(dev, vid, vl); -@@ -2623,7 +2635,6 @@ struct b53_device *b53_switch_alloc(stru +@@ -2644,7 +2656,6 @@ struct b53_device *b53_switch_alloc(stru dev->ops = ops; ds->ops = &b53_switch_ops; ds->configure_vlan_while_not_filtering = true; diff --git a/target/linux/generic/backport-5.10/792-v5.15-0001-net-dsa-b53-Fix-calculating-number-of-switch-ports.patch b/target/linux/generic/backport-5.10/792-v5.15-0001-net-dsa-b53-Fix-calculating-number-of-switch-ports.patch deleted file mode 100644 index 4a7cbd9a4f..0000000000 --- a/target/linux/generic/backport-5.10/792-v5.15-0001-net-dsa-b53-Fix-calculating-number-of-switch-ports.patch +++ /dev/null @@ -1,39 +0,0 @@ -From cdb067d31c0fe4cce98b9d15f1f2ef525acaa094 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Thu, 2 Sep 2021 10:30:50 +0200 -Subject: [PATCH] net: dsa: b53: Fix calculating number of switch ports -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It isn't true that CPU port is always the last one. Switches BCM5301x -have 9 ports (port 6 being inactive) and they use port 5 as CPU by -default (depending on design some other may be CPU ports too). - -A more reliable way of determining number of ports is to check for the -last set bit in the "enabled_ports" bitfield. - -This fixes b53 internal state, it will allow providing accurate info to -the DSA and is required to fix BCM5301x support. - -Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch") -Signed-off-by: Rafał Miłecki -Reviewed-by: Florian Fainelli -Signed-off-by: David S. Miller ---- - drivers/net/dsa/b53/b53_common.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - ---- a/drivers/net/dsa/b53/b53_common.c -+++ b/drivers/net/dsa/b53/b53_common.c -@@ -2584,9 +2584,8 @@ static int b53_switch_init(struct b53_de - dev->cpu_port = 5; - } - -- /* cpu port is always last */ -- dev->num_ports = dev->cpu_port + 1; - dev->enabled_ports |= BIT(dev->cpu_port); -+ dev->num_ports = fls(dev->enabled_ports); - - /* Include non standard CPU port built-in PHYs to be probed */ - if (is539x(dev) || is531x5(dev)) { diff --git a/target/linux/generic/backport-5.10/792-v5.15-0002-net-dsa-b53-Set-correct-number-of-ports-in-the-DSA-s.patch b/target/linux/generic/backport-5.10/792-v5.15-0002-net-dsa-b53-Set-correct-number-of-ports-in-the-DSA-s.patch deleted file mode 100644 index 361b2984fc..0000000000 --- a/target/linux/generic/backport-5.10/792-v5.15-0002-net-dsa-b53-Set-correct-number-of-ports-in-the-DSA-s.patch +++ /dev/null @@ -1,43 +0,0 @@ -From d12e1c4649883e8ca5e8ff341e1948b3b6313259 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Thu, 2 Sep 2021 10:30:51 +0200 -Subject: [PATCH] net: dsa: b53: Set correct number of ports in the DSA struct -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Setting DSA_MAX_PORTS caused DSA to call b53 callbacks (e.g. -b53_disable_port() during dsa_register_switch()) for invalid -(non-existent) ports. That made b53 modify unrelated registers and is -one of reasons for a broken BCM5301x support. - -This problem exists for years but DSA_MAX_PORTS usage has changed few -times. It seems the most accurate to reference commit dropping -dsa_switch_alloc() in the Fixes tag. - -Fixes: 7e99e3470172 ("net: dsa: remove dsa_switch_alloc helper") -Signed-off-by: Rafał Miłecki -Signed-off-by: David S. Miller ---- - drivers/net/dsa/b53/b53_common.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/drivers/net/dsa/b53/b53_common.c -+++ b/drivers/net/dsa/b53/b53_common.c -@@ -2587,6 +2587,8 @@ static int b53_switch_init(struct b53_de - dev->enabled_ports |= BIT(dev->cpu_port); - dev->num_ports = fls(dev->enabled_ports); - -+ dev->ds->num_ports = min_t(unsigned int, dev->num_ports, DSA_MAX_PORTS); -+ - /* Include non standard CPU port built-in PHYs to be probed */ - if (is539x(dev) || is531x5(dev)) { - for (i = 0; i < dev->num_ports; i++) { -@@ -2631,7 +2633,6 @@ struct b53_device *b53_switch_alloc(stru - return NULL; - - ds->dev = base; -- ds->num_ports = DSA_MAX_PORTS; - - dev = devm_kzalloc(base, sizeof(*dev), GFP_KERNEL); - if (!dev) diff --git a/target/linux/generic/backport-5.10/792-v5.15-0003-net-dsa-b53-Fix-IMP-port-setup-on-BCM5301x.patch b/target/linux/generic/backport-5.10/792-v5.15-0003-net-dsa-b53-Fix-IMP-port-setup-on-BCM5301x.patch deleted file mode 100644 index 380a677c50..0000000000 --- a/target/linux/generic/backport-5.10/792-v5.15-0003-net-dsa-b53-Fix-IMP-port-setup-on-BCM5301x.patch +++ /dev/null @@ -1,237 +0,0 @@ -From 63f8428b4077de3664eb0b252393c839b0b293ec Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Sun, 5 Sep 2021 19:23:28 +0200 -Subject: [PATCH] net: dsa: b53: Fix IMP port setup on BCM5301x -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Broadcom's b53 switches have one IMP (Inband Management Port) that needs -to be programmed using its own designed register. IMP port may be -different than CPU port - especially on devices with multiple CPU ports. - -For that reason it's required to explicitly note IMP port index and -check for it when choosing a register to use. - -This commit fixes BCM5301x support. Those switches use CPU port 5 while -their IMP port is 8. Before this patch b53 was trying to program port 5 -with B53_PORT_OVERRIDE_CTRL instead of B53_GMII_PORT_OVERRIDE_CTRL(5). - -It may be possible to also replace "cpu_port" usages with -dsa_is_cpu_port() but that is out of the scope of thix BCM5301x fix. - -Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch") -Signed-off-by: Rafał Miłecki -Signed-off-by: David S. Miller ---- - drivers/net/dsa/b53/b53_common.c | 28 +++++++++++++++++++++++++--- - drivers/net/dsa/b53/b53_priv.h | 1 + - 2 files changed, 26 insertions(+), 3 deletions(-) - ---- a/drivers/net/dsa/b53/b53_common.c -+++ b/drivers/net/dsa/b53/b53_common.c -@@ -1109,7 +1109,7 @@ static void b53_force_link(struct b53_de - u8 reg, val, off; - - /* Override the port settings */ -- if (port == dev->cpu_port) { -+ if (port == dev->imp_port) { - off = B53_PORT_OVERRIDE_CTRL; - val = PORT_OVERRIDE_EN; - } else { -@@ -1133,7 +1133,7 @@ static void b53_force_port_config(struct - u8 reg, val, off; - - /* Override the port settings */ -- if (port == dev->cpu_port) { -+ if (port == dev->imp_port) { - off = B53_PORT_OVERRIDE_CTRL; - val = PORT_OVERRIDE_EN; - } else { -@@ -1201,7 +1201,7 @@ static void b53_adjust_link(struct dsa_s - b53_force_link(dev, port, phydev->link); - - if (is531x5(dev) && phy_interface_is_rgmii(phydev)) { -- if (port == 8) -+ if (port == dev->imp_port) - off = B53_RGMII_CTRL_IMP; - else - off = B53_RGMII_CTRL_P(port); -@@ -2266,6 +2266,7 @@ struct b53_chip_data { - const char *dev_name; - u16 vlans; - u16 enabled_ports; -+ u8 imp_port; - u8 cpu_port; - u8 vta_regs[3]; - u8 arl_bins; -@@ -2290,6 +2291,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1f, - .arl_bins = 2, - .arl_buckets = 1024, -+ .imp_port = 5, - .cpu_port = B53_CPU_PORT_25, - .duplex_reg = B53_DUPLEX_STAT_FE, - }, -@@ -2300,6 +2302,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1f, - .arl_bins = 2, - .arl_buckets = 1024, -+ .imp_port = 5, - .cpu_port = B53_CPU_PORT_25, - .duplex_reg = B53_DUPLEX_STAT_FE, - }, -@@ -2310,6 +2313,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1f, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2323,6 +2327,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1f, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2336,6 +2341,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1f, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .vta_regs = B53_VTA_REGS_9798, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2349,6 +2355,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x7f, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .vta_regs = B53_VTA_REGS_9798, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2363,6 +2370,7 @@ static const struct b53_chip_data b53_sw - .arl_bins = 4, - .arl_buckets = 1024, - .vta_regs = B53_VTA_REGS, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .duplex_reg = B53_DUPLEX_STAT_GE, - .jumbo_pm_reg = B53_JUMBO_PORT_MASK, -@@ -2375,6 +2383,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0xff, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2388,6 +2397,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1ff, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2401,6 +2411,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0, /* pdata must provide them */ - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .vta_regs = B53_VTA_REGS_63XX, - .duplex_reg = B53_DUPLEX_STAT_63XX, -@@ -2414,6 +2425,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1f, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */ - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2427,6 +2439,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1bf, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */ - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2440,6 +2453,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1bf, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */ - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2453,6 +2467,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1f, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */ - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2466,6 +2481,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1f, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */ - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2479,6 +2495,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1ff, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2492,6 +2509,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x103, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2505,6 +2523,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1ff, - .arl_bins = 4, - .arl_buckets = 1024, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2518,6 +2537,7 @@ static const struct b53_chip_data b53_sw - .enabled_ports = 0x1ff, - .arl_bins = 4, - .arl_buckets = 256, -+ .imp_port = 8, - .cpu_port = B53_CPU_PORT, - .vta_regs = B53_VTA_REGS, - .duplex_reg = B53_DUPLEX_STAT_GE, -@@ -2543,6 +2563,7 @@ static int b53_switch_init(struct b53_de - dev->vta_regs[1] = chip->vta_regs[1]; - dev->vta_regs[2] = chip->vta_regs[2]; - dev->jumbo_pm_reg = chip->jumbo_pm_reg; -+ dev->imp_port = chip->imp_port; - dev->cpu_port = chip->cpu_port; - dev->num_vlans = chip->vlans; - dev->num_arl_bins = chip->arl_bins; ---- a/drivers/net/dsa/b53/b53_priv.h -+++ b/drivers/net/dsa/b53/b53_priv.h -@@ -122,6 +122,7 @@ struct b53_device { - - /* used ports mask */ - u16 enabled_ports; -+ unsigned int imp_port; - unsigned int cpu_port; - - /* connect specific data */ diff --git a/target/linux/generic/backport-5.10/840-0001-PCI-of-Don-t-fail-devm_pci_alloc_host_bridge-on-miss.patch b/target/linux/generic/backport-5.10/840-0001-PCI-of-Don-t-fail-devm_pci_alloc_host_bridge-on-miss.patch deleted file mode 100644 index b077530a8b..0000000000 --- a/target/linux/generic/backport-5.10/840-0001-PCI-of-Don-t-fail-devm_pci_alloc_host_bridge-on-miss.patch +++ /dev/null @@ -1,48 +0,0 @@ -From: Rob Herring -Date: Tue, 3 Aug 2021 15:56:55 -0600 -Subject: [PATCH] PCI: of: Don't fail devm_pci_alloc_host_bridge() on missing - 'ranges' -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Commit 669cbc708122 ("PCI: Move DT resource setup into -devm_pci_alloc_host_bridge()") made devm_pci_alloc_host_bridge() fail on -any DT resource parsing errors, but Broadcom iProc uses -devm_pci_alloc_host_bridge() on BCMA bus devices that don't have DT -resources. In particular, there is no 'ranges' property. Fix iProc by -making 'ranges' optional. - -If 'ranges' is required by a platform, there's going to be more errors -latter on if it is missing. - -Fixes: 669cbc708122 ("PCI: Move DT resource setup into devm_pci_alloc_host_bridge()") -Reported-by: Rafał Miłecki -Cc: Srinath Mannam -Cc: Roman Bacik -Cc: Bharat Gooty -Cc: Abhishek Shah -Cc: Jitendra Bhivare -Cc: Ray Jui -Cc: Florian Fainelli -Cc: BCM Kernel Feedback -Cc: Scott Branden -Cc: Bjorn Helgaas -Cc: Lorenzo Pieralisi -Signed-off-by: Rob Herring -Acked-by: Bjorn Helgaas ---- - drivers/pci/of.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/pci/of.c -+++ b/drivers/pci/of.c -@@ -295,7 +295,7 @@ static int devm_of_pci_get_host_bridge_r - /* Check for ranges property */ - err = of_pci_range_parser_init(&parser, dev_node); - if (err) -- goto failed; -+ return 0; - - dev_dbg(dev, "Parsing ranges property...\n"); - for_each_of_pci_range(&parser, &range) { diff --git a/target/linux/generic/backport-5.10/840-0002-PCI-iproc-Fix-BCMA-probe-resource-handling.patch b/target/linux/generic/backport-5.10/840-0002-PCI-iproc-Fix-BCMA-probe-resource-handling.patch deleted file mode 100644 index 54ba2631a2..0000000000 --- a/target/linux/generic/backport-5.10/840-0002-PCI-iproc-Fix-BCMA-probe-resource-handling.patch +++ /dev/null @@ -1,74 +0,0 @@ -From: Rob Herring -Date: Tue, 3 Aug 2021 15:56:56 -0600 -Subject: [PATCH] PCI: iproc: Fix BCMA probe resource handling -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -In commit 7ef1c871da16 ("PCI: iproc: Use -pci_parse_request_of_pci_ranges()"), calling -devm_request_pci_bus_resources() was dropped from the common iProc -probe code, but is still needed for BCMA bus probing. Without it, there -will be lots of warnings like this: - -pci 0000:00:00.0: BAR 8: no space for [mem size 0x00c00000] -pci 0000:00:00.0: BAR 8: failed to assign [mem size 0x00c00000] - -Add back calling devm_request_pci_bus_resources() and adding the -resources to pci_host_bridge.windows for BCMA bus probe. - -Fixes: 7ef1c871da16 ("PCI: iproc: Use pci_parse_request_of_pci_ranges()") -Reported-by: Rafał Miłecki -Cc: Srinath Mannam -Cc: Roman Bacik -Cc: Bharat Gooty -Cc: Abhishek Shah -Cc: Jitendra Bhivare -Cc: Ray Jui -Cc: Florian Fainelli -Cc: BCM Kernel Feedback -Cc: Scott Branden -Cc: Lorenzo Pieralisi -Cc: "Krzysztof Wilczyński" -Cc: Bjorn Helgaas -Signed-off-by: Rob Herring ---- - drivers/pci/controller/pcie-iproc-bcma.c | 16 ++++++---------- - 1 file changed, 6 insertions(+), 10 deletions(-) - ---- a/drivers/pci/controller/pcie-iproc-bcma.c -+++ b/drivers/pci/controller/pcie-iproc-bcma.c -@@ -35,7 +35,6 @@ static int iproc_pcie_bcma_probe(struct - { - struct device *dev = &bdev->dev; - struct iproc_pcie *pcie; -- LIST_HEAD(resources); - struct pci_host_bridge *bridge; - int ret; - -@@ -60,19 +59,16 @@ static int iproc_pcie_bcma_probe(struct - pcie->mem.end = bdev->addr_s[0] + SZ_128M - 1; - pcie->mem.name = "PCIe MEM space"; - pcie->mem.flags = IORESOURCE_MEM; -- pci_add_resource(&resources, &pcie->mem); -+ pci_add_resource(&bridge->windows, &pcie->mem); -+ ret = devm_request_pci_bus_resources(dev, &bridge->windows); -+ if (ret) -+ return ret; - - pcie->map_irq = iproc_pcie_bcma_map_irq; - -- ret = iproc_pcie_setup(pcie, &resources); -- if (ret) { -- dev_err(dev, "PCIe controller setup failed\n"); -- pci_free_resource_list(&resources); -- return ret; -- } -- - bcma_set_drvdata(bdev, pcie); -- return 0; -+ -+ return iproc_pcie_setup(pcie, &bridge->windows); - } - - static void iproc_pcie_bcma_remove(struct bcma_device *bdev) diff --git a/target/linux/generic/hack-5.10/220-arm-gc_sections.patch b/target/linux/generic/hack-5.10/220-arm-gc_sections.patch index 3b67eea250..5c3ebcc810 100644 --- a/target/linux/generic/hack-5.10/220-arm-gc_sections.patch +++ b/target/linux/generic/hack-5.10/220-arm-gc_sections.patch @@ -22,7 +22,7 @@ Signed-off-by: Gabor Juhos select OF_EARLY_FLATTREE if OF --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile -@@ -98,6 +98,7 @@ $(foreach o, $(libfdt_objs) atags_to_fdt +@@ -100,6 +100,7 @@ $(foreach o, $(libfdt_objs) atags_to_fdt ifdef building_out_of_srctree $(shell rm -f $(addprefix $(obj)/, fdt_rw.c fdt_ro.c fdt_wip.c fdt.c)) endif diff --git a/target/linux/generic/hack-5.10/410-block-fit-partition-parser.patch b/target/linux/generic/hack-5.10/410-block-fit-partition-parser.patch index 95067125fb..c417c78eb6 100644 --- a/target/linux/generic/hack-5.10/410-block-fit-partition-parser.patch +++ b/target/linux/generic/hack-5.10/410-block-fit-partition-parser.patch @@ -1,6 +1,6 @@ --- a/block/blk.h +++ b/block/blk.h -@@ -353,6 +353,7 @@ char *disk_name(struct gendisk *hd, int +@@ -355,6 +355,7 @@ char *disk_name(struct gendisk *hd, int #define ADDPART_FLAG_NONE 0 #define ADDPART_FLAG_RAID 1 #define ADDPART_FLAG_WHOLEDISK 2 diff --git a/target/linux/generic/hack-5.10/660-fq_codel_defaults.patch b/target/linux/generic/hack-5.10/660-fq_codel_defaults.patch index 6794349e26..5541c0bc89 100644 --- a/target/linux/generic/hack-5.10/660-fq_codel_defaults.patch +++ b/target/linux/generic/hack-5.10/660-fq_codel_defaults.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/net/sched/sch_fq_codel.c +++ b/net/sched/sch_fq_codel.c -@@ -461,7 +461,11 @@ static int fq_codel_init(struct Qdisc *s +@@ -469,7 +469,11 @@ static int fq_codel_init(struct Qdisc *s sch->limit = 10*1024; q->flows_cnt = 1024; diff --git a/target/linux/generic/hack-5.10/661-use_fq_codel_by_default.patch b/target/linux/generic/hack-5.10/661-use_fq_codel_by_default.patch index 33c8c55ab6..103148d0d6 100644 --- a/target/linux/generic/hack-5.10/661-use_fq_codel_by_default.patch +++ b/target/linux/generic/hack-5.10/661-use_fq_codel_by_default.patch @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau register_qdisc(&pfifo_head_drop_qdisc_ops); --- a/net/sched/sch_fq_codel.c +++ b/net/sched/sch_fq_codel.c -@@ -701,7 +701,7 @@ static const struct Qdisc_class_ops fq_c +@@ -709,7 +709,7 @@ static const struct Qdisc_class_ops fq_c .walk = fq_codel_walk, }; @@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau .cl_ops = &fq_codel_class_ops, .id = "fq_codel", .priv_size = sizeof(struct fq_codel_sched_data), -@@ -716,6 +716,7 @@ static struct Qdisc_ops fq_codel_qdisc_o +@@ -724,6 +724,7 @@ static struct Qdisc_ops fq_codel_qdisc_o .dump_stats = fq_codel_dump_stats, .owner = THIS_MODULE, }; diff --git a/target/linux/generic/hack-5.10/904-debloat_dma_buf.patch b/target/linux/generic/hack-5.10/904-debloat_dma_buf.patch index a447e6b813..cd63206d43 100644 --- a/target/linux/generic/hack-5.10/904-debloat_dma_buf.patch +++ b/target/linux/generic/hack-5.10/904-debloat_dma_buf.patch @@ -72,7 +72,7 @@ Signed-off-by: Felix Fietkau +MODULE_LICENSE("GPL"); --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -3049,6 +3049,7 @@ int wake_up_state(struct task_struct *p, +@@ -3062,6 +3062,7 @@ int wake_up_state(struct task_struct *p, { return try_to_wake_up(p, state, 0); } diff --git a/target/linux/generic/pending-5.10/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch b/target/linux/generic/pending-5.10/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch index 39b98eac1b..282c8196e5 100644 --- a/target/linux/generic/pending-5.10/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch +++ b/target/linux/generic/pending-5.10/100-compiler.h-only-include-asm-rwonce.h-for-kernel-code.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/compiler.h +++ b/include/linux/compiler.h -@@ -211,6 +211,8 @@ void ftrace_likely_update(struct ftrace_ +@@ -213,6 +213,8 @@ void ftrace_likely_update(struct ftrace_ __v; \ }) @@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau #endif /* __KERNEL__ */ /* -@@ -243,6 +245,4 @@ static inline void *offset_to_ptr(const +@@ -245,6 +247,4 @@ static inline void *offset_to_ptr(const */ #define prevent_tail_call_optimization() mb() diff --git a/target/linux/generic/pending-5.10/498-mtd-mtdconcat-select-readwrite-function.patch b/target/linux/generic/pending-5.10/498-mtd-mtdconcat-select-readwrite-function.patch deleted file mode 100644 index 9aad0f3e6c..0000000000 --- a/target/linux/generic/pending-5.10/498-mtd-mtdconcat-select-readwrite-function.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/drivers/mtd/mtdconcat.c -+++ b/drivers/mtd/mtdconcat.c -@@ -683,8 +683,12 @@ struct mtd_info *mtd_concat_create(struc - concat->mtd._writev = concat_writev; - if (subdev[0]->_read_oob) - concat->mtd._read_oob = concat_read_oob; -+ else -+ concat->mtd._read = concat_read; - if (subdev[0]->_write_oob) - concat->mtd._write_oob = concat_write_oob; -+ else -+ concat->mtd._write = concat_write; - if (subdev[0]->_block_isbad) - concat->mtd._block_isbad = concat_block_isbad; - if (subdev[0]->_block_markbad) -@@ -744,8 +748,6 @@ struct mtd_info *mtd_concat_create(struc - concat->mtd.name = name; - - concat->mtd._erase = concat_erase; -- concat->mtd._read = concat_read; -- concat->mtd._write = concat_write; - concat->mtd._sync = concat_sync; - concat->mtd._lock = concat_lock; - concat->mtd._unlock = concat_unlock; diff --git a/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 4abdce85d0..ebff78a192 100644 --- a/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski case RTN_THROW: case RTN_UNREACHABLE: default: -@@ -4426,6 +4445,17 @@ static int ip6_pkt_prohibit_out(struct n +@@ -4429,6 +4448,17 @@ static int ip6_pkt_prohibit_out(struct n return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); } @@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -4906,7 +4936,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -4909,7 +4939,8 @@ static int rtm_to_fib6_config(struct sk_ if (rtm->rtm_type == RTN_UNREACHABLE || rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_PROHIBIT || @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -6076,6 +6107,8 @@ static int ip6_route_dev_notify(struct n +@@ -6079,6 +6110,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -6087,6 +6120,7 @@ static int ip6_route_dev_notify(struct n +@@ -6090,6 +6123,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -6278,6 +6312,8 @@ static int __net_init ip6_route_net_init +@@ -6281,6 +6315,8 @@ static int __net_init ip6_route_net_init #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.fib6_has_custom_rules = false; @@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, sizeof(*net->ipv6.ip6_prohibit_entry), GFP_KERNEL); -@@ -6288,11 +6324,21 @@ static int __net_init ip6_route_net_init +@@ -6291,11 +6327,21 @@ static int __net_init ip6_route_net_init ip6_template_metrics, true); INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached); @@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); -@@ -6319,6 +6365,8 @@ out: +@@ -6322,6 +6368,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -6338,6 +6386,7 @@ static void __net_exit ip6_route_net_exi +@@ -6341,6 +6389,7 @@ static void __net_exit ip6_route_net_exi kfree(net->ipv6.ip6_null_entry); #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); @@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski kfree(net->ipv6.ip6_blk_hole_entry); #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); -@@ -6415,6 +6464,9 @@ void __init ip6_route_init_special_entri +@@ -6418,6 +6467,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/pending-5.10/765-net-dsa-Include-local-addresses-in-assisted-CPU-port.patch b/target/linux/generic/pending-5.10/765-net-dsa-Include-local-addresses-in-assisted-CPU-port.patch index 759f1adda4..c0b4fd1d14 100644 --- a/target/linux/generic/pending-5.10/765-net-dsa-Include-local-addresses-in-assisted-CPU-port.patch +++ b/target/linux/generic/pending-5.10/765-net-dsa-Include-local-addresses-in-assisted-CPU-port.patch @@ -18,7 +18,7 @@ Signed-off-by: Tobias Waldekranz --- a/net/dsa/slave.c +++ b/net/dsa/slave.c -@@ -2194,10 +2194,12 @@ static int dsa_slave_switchdev_event(str +@@ -2192,10 +2192,12 @@ static int dsa_slave_switchdev_event(str fdb_info = ptr; if (dsa_slave_dev_check(dev)) { diff --git a/target/linux/generic/pending-5.10/766-net-dsa-Include-bridge-addresses-in-assisted-CPU-por.patch b/target/linux/generic/pending-5.10/766-net-dsa-Include-bridge-addresses-in-assisted-CPU-por.patch index 0ad751cc5d..0b644d8300 100644 --- a/target/linux/generic/pending-5.10/766-net-dsa-Include-bridge-addresses-in-assisted-CPU-por.patch +++ b/target/linux/generic/pending-5.10/766-net-dsa-Include-bridge-addresses-in-assisted-CPU-por.patch @@ -15,7 +15,7 @@ Signed-off-by: Tobias Waldekranz --- a/net/dsa/slave.c +++ b/net/dsa/slave.c -@@ -2208,7 +2208,11 @@ static int dsa_slave_switchdev_event(str +@@ -2206,7 +2206,11 @@ static int dsa_slave_switchdev_event(str struct net_device *br_dev; struct dsa_slave_priv *p; diff --git a/target/linux/generic/pending-5.10/767-net-dsa-Sync-static-FDB-entries-on-foreign-interface.patch b/target/linux/generic/pending-5.10/767-net-dsa-Sync-static-FDB-entries-on-foreign-interface.patch index e1daf61730..f71ea16b97 100644 --- a/target/linux/generic/pending-5.10/767-net-dsa-Sync-static-FDB-entries-on-foreign-interface.patch +++ b/target/linux/generic/pending-5.10/767-net-dsa-Sync-static-FDB-entries-on-foreign-interface.patch @@ -28,7 +28,7 @@ Signed-off-by: Tobias Waldekranz --- a/net/dsa/slave.c +++ b/net/dsa/slave.c -@@ -2201,9 +2201,12 @@ static int dsa_slave_switchdev_event(str +@@ -2199,9 +2199,12 @@ static int dsa_slave_switchdev_event(str else if (!fdb_info->added_by_user) return NOTIFY_OK; } else { @@ -44,7 +44,7 @@ Signed-off-by: Tobias Waldekranz */ struct net_device *br_dev; struct dsa_slave_priv *p; -@@ -2225,7 +2228,8 @@ static int dsa_slave_switchdev_event(str +@@ -2223,7 +2226,8 @@ static int dsa_slave_switchdev_event(str dp = p->dp->cpu_dp; diff --git a/target/linux/generic/pending-5.10/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch b/target/linux/generic/pending-5.10/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch index cb02c71829..511a9f7555 100644 --- a/target/linux/generic/pending-5.10/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch +++ b/target/linux/generic/pending-5.10/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch @@ -50,20 +50,14 @@ Signed-off-by: Rafał Miłecki if (err) --- a/drivers/bcma/main.c +++ b/drivers/bcma/main.c -@@ -236,12 +236,16 @@ EXPORT_SYMBOL(bcma_core_irq); - - void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core) - { -+ struct device *dev = &core->dev; -+ - core->dev.release = bcma_release_core_dev; +@@ -241,8 +241,10 @@ void bcma_prepare_core(struct bcma_bus * core->dev.bus = &bcma_bus_type; dev_set_name(&core->dev, "bcma%d:%d", bus->num, core->core_index); core->dev.parent = bus->dev; - if (bus->dev) + if (bus->dev) { bcma_of_fill_device(bus->dev, core); -+ dma_coerce_mask_and_coherent(dev, bus->dev->coherent_dma_mask); ++ dma_coerce_mask_and_coherent(&core->dev, bus->dev->coherent_dma_mask); + } switch (bus->hosttype) { diff --git a/target/linux/generic/pending-5.10/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-5.10/810-pci_disable_common_quirks.patch index f5e444fe46..62f6fed126 100644 --- a/target/linux/generic/pending-5.10/810-pci_disable_common_quirks.patch +++ b/target/linux/generic/pending-5.10/810-pci_disable_common_quirks.patch @@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos /* * The Mellanox Tavor device gives false positive parity errors. Mark this * device with a broken_parity_status to allow PCI scanning code to "skip" -@@ -3322,6 +3323,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I +@@ -3323,6 +3324,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata); @@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos /* * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. * To work around this, query the size it should be configured to by the -@@ -3347,6 +3350,8 @@ static void quirk_intel_ntb(struct pci_d +@@ -3348,6 +3351,8 @@ static void quirk_intel_ntb(struct pci_d DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb); @@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos /* * Some BIOS implementations leave the Intel GPU interrupts enabled, even * though no one is handling them (e.g., if the i915 driver is never -@@ -3385,6 +3390,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN +@@ -3386,6 +3391,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); diff --git a/target/linux/generic/pending-5.10/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-5.10/811-pci_disable_usb_common_quirks.patch index 42a8397839..cf52fa36ca 100644 --- a/target/linux/generic/pending-5.10/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/pending-5.10/811-pci_disable_usb_common_quirks.patch @@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau #endif /* __LINUX_USB_PCI_QUIRKS_H */ --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h -@@ -484,7 +484,14 @@ extern int usb_hcd_pci_probe(struct pci_ +@@ -486,7 +486,14 @@ extern int usb_hcd_pci_probe(struct pci_ extern void usb_hcd_pci_remove(struct pci_dev *dev); extern void usb_hcd_pci_shutdown(struct pci_dev *dev); diff --git a/target/linux/generic/pending-5.10/834-ledtrig-libata.patch b/target/linux/generic/pending-5.10/834-ledtrig-libata.patch index a52e712d8c..107f2c4914 100644 --- a/target/linux/generic/pending-5.10/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-5.10/834-ledtrig-libata.patch @@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -4513,6 +4526,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4517,6 +4530,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle qc = __ata_qc_from_tag(ap, tag); qc->tag = qc->hw_tag = tag; -@@ -5291,6 +5307,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5295,6 +5311,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -5326,6 +5345,12 @@ static void ata_host_release(struct kref +@@ -5330,6 +5349,12 @@ static void ata_host_release(struct kref kfree(ap->pmp_link); kfree(ap->slave_link); @@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle kfree(ap); host->ports[i] = NULL; } -@@ -5732,7 +5757,23 @@ int ata_host_register(struct ata_host *h +@@ -5736,7 +5761,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } diff --git a/target/linux/ipq806x/patches-5.10/101-dwmac-ipq806x-qsgmii-pcs-all-ch-ctl.patch b/target/linux/ipq806x/patches-5.10/101-dwmac-ipq806x-qsgmii-pcs-all-ch-ctl.patch index 8e9939a416..2210f4e249 100644 --- a/target/linux/ipq806x/patches-5.10/101-dwmac-ipq806x-qsgmii-pcs-all-ch-ctl.patch +++ b/target/linux/ipq806x/patches-5.10/101-dwmac-ipq806x-qsgmii-pcs-all-ch-ctl.patch @@ -63,7 +63,7 @@ val = stmmac_get_platform_resources(pdev, &stmmac_res); if (val) -@@ -346,6 +388,17 @@ static int ipq806x_gmac_probe(struct pla +@@ -339,6 +381,17 @@ static int ipq806x_gmac_probe(struct pla 0x1ul << QSGMII_PHY_RX_INPUT_EQU_OFFSET | 0x2ul << QSGMII_PHY_CDR_PI_SLEW_OFFSET | 0xCul << QSGMII_PHY_TX_DRV_AMP_OFFSET); diff --git a/target/linux/mediatek/Makefile b/target/linux/mediatek/Makefile index 94a7dfbdc1..d42d0eacd7 100644 --- a/target/linux/mediatek/Makefile +++ b/target/linux/mediatek/Makefile @@ -6,7 +6,7 @@ ARCH:=arm BOARD:=mediatek BOARDNAME:=MediaTek Ralink ARM SUBTARGETS:=mt7622 mt7623 mt7629 -FEATURES:=squashfs nand separate_ramdisk fpu dt-overlay +FEATURES:=dt-overlay fpu gpio nand pci pcie separate_ramdisk squashfs usb KERNEL_PATCHVER:=5.10 diff --git a/target/linux/mediatek/mt7623/target.mk b/target/linux/mediatek/mt7623/target.mk index a9d6d2aea1..ad05367f86 100644 --- a/target/linux/mediatek/mt7623/target.mk +++ b/target/linux/mediatek/mt7623/target.mk @@ -8,7 +8,7 @@ BOARDNAME:=MT7623 CPU_TYPE:=cortex-a7 CPU_SUBTYPE:=neon-vfpv4 KERNELNAME:=Image dtbs zImage -FEATURES+=usb +FEATURES+=display usbgadget DEFAULT_PACKAGES+=blockdev uboot-envtools define Target/Description diff --git a/target/linux/mediatek/patches-5.10/410-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-5.10/410-bt-mtk-serial-fix.patch index b82e174d27..5a819293a5 100644 --- a/target/linux/mediatek/patches-5.10/410-bt-mtk-serial-fix.patch +++ b/target/linux/mediatek/patches-5.10/410-bt-mtk-serial-fix.patch @@ -10,7 +10,7 @@ #define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */ --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c -@@ -287,7 +287,7 @@ static const struct serial8250_config ua +@@ -288,7 +288,7 @@ static const struct serial8250_config ua .tx_loadsz = 16, .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT, @@ -19,7 +19,7 @@ }, [PORT_NPCM] = { .name = "Nuvoton 16550", -@@ -2718,6 +2718,11 @@ serial8250_do_set_termios(struct uart_po +@@ -2719,6 +2719,11 @@ serial8250_do_set_termios(struct uart_po unsigned long flags; unsigned int baud, quot, frac = 0; diff --git a/target/linux/mediatek/patches-5.10/900-dts-mt7622-bpi-r64-aliases-for-dtoverlay.patch b/target/linux/mediatek/patches-5.10/900-dts-mt7622-bpi-r64-aliases-for-dtoverlay.patch index 7e539be30d..0701182219 100644 --- a/target/linux/mediatek/patches-5.10/900-dts-mt7622-bpi-r64-aliases-for-dtoverlay.patch +++ b/target/linux/mediatek/patches-5.10/900-dts-mt7622-bpi-r64-aliases-for-dtoverlay.patch @@ -1,14 +1,6 @@ --- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts -@@ -297,14 +297,14 @@ - &pcie1 { - pinctrl-names = "default"; - pinctrl-0 = <&pcie1_pins>; -- status = "okay"; -+ status = "disabled"; - }; - - &pio { +@@ -304,7 +304,7 @@ /* Attention: GPIO 90 is used to switch between PCIe@1,0 and * SATA functions. i.e. output-high: PCIe, output-low: SATA */ @@ -53,7 +45,7 @@ +}; --- /dev/null +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64-pcie1.dts -@@ -0,0 +1,24 @@ +@@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */ + +#include @@ -70,11 +62,4 @@ + gpios = <90 GPIO_ACTIVE_HIGH>; + }; + }; -+ -+ fragment@1 { -+ target = <&pcie1>; -+ __overlay__ { -+ status = "okay"; -+ }; -+ }; +}; diff --git a/target/linux/octeontx/patches-5.10/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch b/target/linux/octeontx/patches-5.10/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch index e33a28e953..d4cf5af31f 100644 --- a/target/linux/octeontx/patches-5.10/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch +++ b/target/linux/octeontx/patches-5.10/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch @@ -21,8 +21,8 @@ Signed-off-by: Tim Harvey +#include #include #include - #include -@@ -5625,3 +5626,34 @@ static void apex_pci_fixup_class(struct + #include +@@ -5762,3 +5763,34 @@ static void apex_pci_fixup_class(struct } DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a, PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class); diff --git a/target/linux/oxnas/patches-5.10/999-libata-hacks.patch b/target/linux/oxnas/patches-5.10/999-libata-hacks.patch index b02c506e9f..2751c9fe88 100644 --- a/target/linux/oxnas/patches-5.10/999-libata-hacks.patch +++ b/target/linux/oxnas/patches-5.10/999-libata-hacks.patch @@ -15,7 +15,7 @@ /* initialize internal qc */ qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL); -@@ -4520,6 +4528,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4524,6 +4532,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (unlikely(ap->pflags & ATA_PFLAG_FROZEN)) return NULL; @@ -25,7 +25,7 @@ /* libsas case */ if (ap->flags & ATA_FLAG_SAS_HOST) { tag = ata_sas_allocate_tag(ap); -@@ -4565,6 +4576,8 @@ void ata_qc_free(struct ata_queued_cmd * +@@ -4569,6 +4580,8 @@ void ata_qc_free(struct ata_queued_cmd * qc->tag = ATA_TAG_POISON; if (ap->flags & ATA_FLAG_SAS_HOST) ata_sas_free_tag(tag, ap); diff --git a/target/linux/ramips/dts/mt7621_netgear_r6900-v2.dts b/target/linux/ramips/dts/mt7621_netgear_r6900-v2.dts new file mode 100644 index 0000000000..070e59b36a --- /dev/null +++ b/target/linux/ramips/dts/mt7621_netgear_r6900-v2.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-only + +#include "mt7621_netgear_sercomm_bzv.dtsi" + +/ { + compatible = "netgear,r6900-v2", "mediatek,mt7621-soc"; + model = "Netgear R6900 v2"; +}; + +&leds { + guest_wifi { + gpios = <&gpio_expander 6 GPIO_ACTIVE_LOW>; + label = "white:guest_wifi"; + }; +}; diff --git a/target/linux/ramips/dts/mt7621_netgear_r7200.dts b/target/linux/ramips/dts/mt7621_netgear_r7200.dts new file mode 100644 index 0000000000..0ff80830f7 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_netgear_r7200.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-only + +#include "mt7621_netgear_sercomm_bzv.dtsi" + +/ { + compatible = "netgear,r7200", "mediatek,mt7621-soc"; + model = "Netgear R7200"; +}; + +&leds { + guest_wifi { + gpios = <&gpio_expander 6 GPIO_ACTIVE_LOW>; + label = "white:guest_wifi"; + }; +}; diff --git a/target/linux/ramips/dts/mt7621_netgear_r7450.dts b/target/linux/ramips/dts/mt7621_netgear_r7450.dts new file mode 100644 index 0000000000..4b2c3326b4 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_netgear_r7450.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0-only + +#include "mt7621_netgear_sercomm_bzv.dtsi" + +/ { + compatible = "netgear,r7450", "mediatek,mt7621-soc"; + model = "Netgear R7450"; +}; + +&leds { + guest_wifi { + gpios = <&gpio_expander 6 GPIO_ACTIVE_LOW>; + label = "white:guest_wifi"; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 1229fd935e..5081a6bfee 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -1066,7 +1066,7 @@ define Device/netgear_r6700-v2 DEVICE_ALT0_MODEL := Nighthawk AC2400 DEVICE_ALT0_VARIANT := v1 DEVICE_ALT1_VENDOR := NETGEAR - DEVICE_ALT1_MODEL := R7200 + DEVICE_ALT1_MODEL := Nighthawk AC2100 DEVICE_ALT1_VARIANT := v1 SERCOMM_HWNAME := R6950 SERCOMM_HWID := BZV @@ -1101,6 +1101,43 @@ define Device/netgear_r6850 endef TARGET_DEVICES += netgear_r6850 +define Device/netgear_r6900-v2 + $(Device/netgear_sercomm_nand) + DEVICE_MODEL := R6900 + DEVICE_VARIANT := v2 + SERCOMM_HWNAME := R6950 + SERCOMM_HWID := BZV + SERCOMM_HWVER := A001 + SERCOMM_SWVER := 0x1032 + IMAGE_SIZE := 40960k + DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware +endef +TARGET_DEVICES += netgear_r6900-v2 + +define Device/netgear_r7200 + $(Device/netgear_sercomm_nand) + DEVICE_MODEL := R7200 + SERCOMM_HWNAME := R6950 + SERCOMM_HWID := BZV + SERCOMM_HWVER := A001 + SERCOMM_SWVER := 0x1032 + IMAGE_SIZE := 40960k + DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware +endef +TARGET_DEVICES += netgear_r7200 + +define Device/netgear_r7450 + $(Device/netgear_sercomm_nand) + DEVICE_MODEL := R7450 + SERCOMM_HWNAME := R6950 + SERCOMM_HWID := BZV + SERCOMM_HWVER := A001 + SERCOMM_SWVER := 0x1032 + IMAGE_SIZE := 40960k + DEVICE_PACKAGES += kmod-mt7615e kmod-mt7615-firmware +endef +TARGET_DEVICES += netgear_r7450 + define Device/netgear_wac104 $(Device/netgear_sercomm_nand) DEVICE_MODEL := WAC104 diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds index d01ba53568..6e6cd747c4 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds @@ -89,7 +89,10 @@ netgear,wndr3700-v5) ucidef_set_led_netdev "wan" "wan" "green:wan" "wan" ;; netgear,r6700-v2|\ -netgear,r6800) +netgear,r6800|\ +netgear,r6900-v2|\ +netgear,r7200|\ +netgear,r7450) ucidef_set_led_netdev "wan" "WAN" "white:wan" "wan" ucidef_set_led_netdev "lan1" "LAN1" "white:lan1" "lan1" ucidef_set_led_netdev "lan2" "LAN2" "white:lan2" "lan2" diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index a925dd0f18..6e8e205403 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -71,6 +71,9 @@ platform_do_upgrade() { netgear,r6700-v2|\ netgear,r6800|\ netgear,r6850|\ + netgear,r6900-v2|\ + netgear,r7200|\ + netgear,r7450|\ netgear,wac104|\ netgear,wac124|\ netis,wf2881|\ diff --git a/target/linux/realtek/patches-5.10/001-5.13-dt-bindings-gpio-binding-for-realtek-otto-gpio.patch b/target/linux/realtek/patches-5.10/001-5.13-dt-bindings-gpio-binding-for-realtek-otto-gpio.patch index 111591c640..80b806d89f 100644 --- a/target/linux/realtek/patches-5.10/001-5.13-dt-bindings-gpio-binding-for-realtek-otto-gpio.patch +++ b/target/linux/realtek/patches-5.10/001-5.13-dt-bindings-gpio-binding-for-realtek-otto-gpio.patch @@ -20,9 +20,6 @@ Signed-off-by: Bartosz Golaszewski 1 file changed, 78 insertions(+) create mode 100644 Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml -diff --git a/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml b/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml -new file mode 100644 -index 0000000000000..100f20cebd76a --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml @@ -0,0 +1,78 @@ @@ -104,6 +101,3 @@ index 0000000000000..100f20cebd76a + }; + +... --- -cgit 1.2.3-1.el7 - diff --git a/target/linux/realtek/patches-5.10/003-5.12-spi-realtek-rtl838x-rtl839x-spi-controller.patch b/target/linux/realtek/patches-5.10/003-5.12-spi-realtek-rtl838x-rtl839x-spi-controller.patch index 035b0e655f..325e904994 100644 --- a/target/linux/realtek/patches-5.10/003-5.12-spi-realtek-rtl838x-rtl839x-spi-controller.patch +++ b/target/linux/realtek/patches-5.10/003-5.12-spi-realtek-rtl838x-rtl839x-spi-controller.patch @@ -11,9 +11,6 @@ Signed-off-by: Mark Brown 1 file changed, 41 insertions(+) create mode 100644 Documentation/devicetree/bindings/spi/realtek,rtl-spi.yaml -diff --git a/Documentation/devicetree/bindings/spi/realtek,rtl-spi.yaml b/Documentation/devicetree/bindings/spi/realtek,rtl-spi.yaml -new file mode 100644 -index 0000000000000..30a62a211984f --- /dev/null +++ b/Documentation/devicetree/bindings/spi/realtek,rtl-spi.yaml @@ -0,0 +1,41 @@ @@ -58,6 +55,3 @@ index 0000000000000..30a62a211984f + #address-cells = <1>; + #size-cells = <0>; + }; --- -cgit 1.2.3-1.el7 - diff --git a/target/linux/realtek/patches-5.10/005-5.12-dt-bindings-interrupt-controller-add-realtek-rtl838x-rtl839x-support.patch b/target/linux/realtek/patches-5.10/005-5.12-dt-bindings-interrupt-controller-add-realtek-rtl838x-rtl839x-support.patch index d6817d209d..165545a220 100644 --- a/target/linux/realtek/patches-5.10/005-5.12-dt-bindings-interrupt-controller-add-realtek-rtl838x-rtl839x-support.patch +++ b/target/linux/realtek/patches-5.10/005-5.12-dt-bindings-interrupt-controller-add-realtek-rtl838x-rtl839x-support.patch @@ -16,9 +16,6 @@ Link: https://lore.kernel.org/r/20210122204224.509124-2-bert@biot.com 1 file changed, 57 insertions(+) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/realtek,rtl-intc.yaml -diff --git a/Documentation/devicetree/bindings/interrupt-controller/realtek,rtl-intc.yaml b/Documentation/devicetree/bindings/interrupt-controller/realtek,rtl-intc.yaml -new file mode 100644 -index 0000000000000..9e76fff20323c --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/realtek,rtl-intc.yaml @@ -0,0 +1,57 @@ @@ -79,6 +76,3 @@ index 0000000000000..9e76fff20323c + <30 &cpuintc 1>, + <29 &cpuintc 5>; + }; --- -cgit 1.2.3-1.el7 - diff --git a/target/linux/realtek/patches-5.10/704-drivers-net-phy-eee-support-for-rtl838x.patch b/target/linux/realtek/patches-5.10/704-drivers-net-phy-eee-support-for-rtl838x.patch index cca724293d..4fc31c4f4f 100644 --- a/target/linux/realtek/patches-5.10/704-drivers-net-phy-eee-support-for-rtl838x.patch +++ b/target/linux/realtek/patches-5.10/704-drivers-net-phy-eee-support-for-rtl838x.patch @@ -12,7 +12,7 @@ return phy_ethtool_ksettings_set(pl->phydev, kset); } -@@ -1700,8 +1705,11 @@ int phylink_ethtool_get_eee(struct phyli +@@ -1726,8 +1731,11 @@ int phylink_ethtool_get_eee(struct phyli ASSERT_RTNL(); @@ -25,7 +25,7 @@ return ret; } -@@ -1718,8 +1726,11 @@ int phylink_ethtool_set_eee(struct phyli +@@ -1744,8 +1752,11 @@ int phylink_ethtool_set_eee(struct phyli ASSERT_RTNL();