[openwrt/openwrt] kernel: bump 6.6 to 6.6.33 and adjust subarches

LEDE Commits lede-commits at lists.infradead.org
Sat Jun 15 13:45:26 PDT 2024


hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/f34620f14676eddea9eeb5c811d82adef9ba665a

commit f34620f14676eddea9eeb5c811d82adef9ba665a
Author: John Audia <therealgraysky at proton.me>
AuthorDate: Wed Jun 12 16:46:19 2024 -0400

    kernel: bump 6.6 to 6.6.33 and adjust subarches
    
    This commit accomplishes three goals:
    1. bump 6.6 to 6.6.33
    2. kernel: modules: video: change package definition for fb for
       upstream changes[1]
    3. kernel/multiple subtargets: add CONFIG_FB_IOMEM_FOPS=y to all
       subtargets which also set CONFIG_FB_CORE=y.
    
    Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.33
    
    Removed upstreamed:
            pending-6.6/195-block-fix-and-simplify-blkdevparts-cmdline-parsing.patch[2]
            gemini/patches-6.6/0003-net-ethernet-cortina-Locking-fixes.patch[3]
    
    Manually rebased:
            ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch
    
    All other patches automatically rebased.
    
    1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=c00e8fd749502c02085534c60b1edca4fc479c91
    2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.33&id=99bbbd9aea059f8a206736dc601be2ae61d366fb
    3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.33&id=8f6f82d6a205ceb3aba8d279f9ff6eeea0b1689b
    
    Build system: x86/64
    Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
    Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
    
    Tested-by: Stijn Segers <foss at volatilesystems.org>
    Signed-off-by: John Audia <therealgraysky at proton.me>
---
 include/kernel-6.6                                 |   4 +-
 package/kernel/linux/modules/video.mk              |   3 +-
 .../patches-6.6/900-unaligned_access_hacks.patch   |   2 +-
 target/linux/gemini/config-6.6                     |   1 +
 ...001-net-ethernet-cortina-Drop-TSO-support.patch |   2 +-
 .../0003-net-ethernet-cortina-Locking-fixes.patch  |  73 -------
 ...-blktrans-call-add-disks-after-mtd-device.patch |   2 +-
 ...1-net-dsa-mv88e6xxx-disable-ATU-violation.patch |   2 +-
 ...-and-simplify-blkdevparts-cmdline-parsing.patch | 217 ---------------------
 ...lock-add-uImage.FIT-subimage-block-driver.patch |   2 +-
 .../pending-6.6/630-packet_socket_type.patch       |   6 +-
 .../680-net-add-TCP-fraglist-GRO-support.patch     |   2 +-
 ...t-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch |   2 +-
 ...d-optional-threading-for-backlog-processi.patch |   4 +-
 ...xxx-Request-assisted-learning-on-CPU-port.patch |   2 +-
 ...qess-introduce-the-Qualcomm-IPQESS-driver.patch |   2 +-
 ...-net-dsa-add-out-of-band-tagging-protocol.patch |   2 +-
 target/linux/layerscape/armv8_64b/config-6.6       |   1 +
 target/linux/loongarch64/config-6.6                |   1 +
 target/linux/mediatek/mt7623/config-6.6            |   1 +
 .../041-block-fit-partition-parser.patch           |   2 +-
 ...s-spi-Add-support-for-dynamic-calibration.patch |   6 +-
 .../810-uvc-add-iPassion-iP2970-support.patch      |  12 +-
 target/linux/tegra/config-6.6                      |   1 +
 target/linux/x86/64/config-6.6                     |   1 +
 target/linux/x86/generic/config-6.6                |   1 +
 target/linux/x86/legacy/config-6.6                 |   1 +
 27 files changed, 37 insertions(+), 318 deletions(-)

diff --git a/include/kernel-6.6 b/include/kernel-6.6
index 896c95ea7d..9ea7e28645 100644
--- a/include/kernel-6.6
+++ b/include/kernel-6.6
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.6 = .32
-LINUX_KERNEL_HASH-6.6.32 = aaa824eaf07f61911d22b75ff090a403c3dd0bd73e23933e0bba8b5971436ce1
+LINUX_VERSION-6.6 = .33
+LINUX_KERNEL_HASH-6.6.33 = a13ebc20dc2a75722699949af74aa86a4ce5d544d6daaa6a7de4e8c81b40de97
diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk
index e40915fbd5..b59907c643 100644
--- a/package/kernel/linux/modules/video.mk
+++ b/package/kernel/linux/modules/video.mk
@@ -106,7 +106,8 @@ define KernelPackage/fb
 	CONFIG_VT_CONSOLE=y \
 	CONFIG_VT_HW_CONSOLE_BINDING=y
   FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/fb.ko \
-	$(LINUX_DIR)/lib/fonts/font.ko
+	$(LINUX_DIR)/lib/fonts/font.ko \
+	$(LINUX_DIR)/drivers/video/fbdev/core/fb_io_fops.ko at ge6.6
   AUTOLOAD:=$(call AutoLoad,06,fb font)
 endef
 
diff --git a/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
index 0190da85de..49a65ec622 100644
--- a/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
@@ -337,7 +337,7 @@ SVN-Revision: 35130
  #endif /* _LINUX_TYPES_H */
 --- a/net/ipv4/af_inet.c
 +++ b/net/ipv4/af_inet.c
-@@ -1506,8 +1506,8 @@ struct sk_buff *inet_gro_receive(struct
+@@ -1508,8 +1508,8 @@ struct sk_buff *inet_gro_receive(struct
  		goto out;
  
  	NAPI_GRO_CB(skb)->proto = proto;
diff --git a/target/linux/gemini/config-6.6 b/target/linux/gemini/config-6.6
index d670279135..87174d292f 100644
--- a/target/linux/gemini/config-6.6
+++ b/target/linux/gemini/config-6.6
@@ -162,6 +162,7 @@ CONFIG_FB=y
 CONFIG_FB_CORE=y
 CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_DMAMEM_HELPERS=y
+CONFIG_FB_IOMEM_FOPS=y
 CONFIG_FB_SYSMEM_HELPERS=y
 CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
 CONFIG_FB_SYS_COPYAREA=y
diff --git a/target/linux/gemini/patches-6.6/0001-net-ethernet-cortina-Drop-TSO-support.patch b/target/linux/gemini/patches-6.6/0001-net-ethernet-cortina-Drop-TSO-support.patch
index 43e0cb283a..6fbd0487eb 100644
--- a/target/linux/gemini/patches-6.6/0001-net-ethernet-cortina-Drop-TSO-support.patch
+++ b/target/linux/gemini/patches-6.6/0001-net-ethernet-cortina-Drop-TSO-support.patch
@@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  /**
   * struct gmac_queue_page - page buffer per-page info
-@@ -1143,23 +1142,13 @@ static int gmac_map_tx_bufs(struct net_d
+@@ -1148,23 +1147,13 @@ static int gmac_map_tx_bufs(struct net_d
  	struct gmac_txdesc *txd;
  	skb_frag_t *skb_frag;
  	dma_addr_t mapping;
diff --git a/target/linux/gemini/patches-6.6/0003-net-ethernet-cortina-Locking-fixes.patch b/target/linux/gemini/patches-6.6/0003-net-ethernet-cortina-Locking-fixes.patch
deleted file mode 100644
index 661e9287c0..0000000000
--- a/target/linux/gemini/patches-6.6/0003-net-ethernet-cortina-Locking-fixes.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 81889eb2b37bc21df4ff259441e8fc12d4f27cd9 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij at linaro.org>
-Date: Thu, 9 May 2024 08:48:31 +0200
-Subject: [PATCH] net: ethernet: cortina: Locking fixes
-
-This fixes a probably long standing problem in the Cortina
-Gemini ethernet driver: there are some paths in the code
-where the IRQ registers are written without taking the proper
-locks.
-
-Fixes: 4d5ae32f5e1e ("net: ethernet: Add a driver for Gemini gigabit ethernet")
-Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
----
- drivers/net/ethernet/cortina/gemini.c | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
---- a/drivers/net/ethernet/cortina/gemini.c
-+++ b/drivers/net/ethernet/cortina/gemini.c
-@@ -1107,10 +1107,13 @@ static void gmac_tx_irq_enable(struct ne
- {
- 	struct gemini_ethernet_port *port = netdev_priv(netdev);
- 	struct gemini_ethernet *geth = port->geth;
-+	unsigned long flags;
- 	u32 val, mask;
- 
- 	netdev_dbg(netdev, "%s device %d\n", __func__, netdev->dev_id);
- 
-+	spin_lock_irqsave(&geth->irq_lock, flags);
-+
- 	mask = GMAC0_IRQ0_TXQ0_INTS << (6 * netdev->dev_id + txq);
- 
- 	if (en)
-@@ -1119,6 +1122,8 @@ static void gmac_tx_irq_enable(struct ne
- 	val = readl(geth->base + GLOBAL_INTERRUPT_ENABLE_0_REG);
- 	val = en ? val | mask : val & ~mask;
- 	writel(val, geth->base + GLOBAL_INTERRUPT_ENABLE_0_REG);
-+
-+	spin_unlock_irqrestore(&geth->irq_lock, flags);
- }
- 
- static void gmac_tx_irq(struct net_device *netdev, unsigned int txq_num)
-@@ -1415,15 +1420,19 @@ static unsigned int gmac_rx(struct net_d
- 	union gmac_rxdesc_3 word3;
- 	struct page *page = NULL;
- 	unsigned int page_offs;
-+	unsigned long flags;
- 	unsigned short r, w;
- 	union dma_rwptr rw;
- 	dma_addr_t mapping;
- 	int frag_nr = 0;
- 
-+	spin_lock_irqsave(&geth->irq_lock, flags);
- 	rw.bits32 = readl(ptr_reg);
- 	/* Reset interrupt as all packages until here are taken into account */
- 	writel(DEFAULT_Q0_INT_BIT << netdev->dev_id,
- 	       geth->base + GLOBAL_INTERRUPT_STATUS_1_REG);
-+	spin_unlock_irqrestore(&geth->irq_lock, flags);
-+
- 	r = rw.bits.rptr;
- 	w = rw.bits.wptr;
- 
-@@ -1726,10 +1735,9 @@ static irqreturn_t gmac_irq(int irq, voi
- 		gmac_update_hw_stats(netdev);
- 
- 	if (val & (GMAC0_RX_OVERRUN_INT_BIT << (netdev->dev_id * 8))) {
-+		spin_lock(&geth->irq_lock);
- 		writel(GMAC0_RXDERR_INT_BIT << (netdev->dev_id * 8),
- 		       geth->base + GLOBAL_INTERRUPT_STATUS_4_REG);
--
--		spin_lock(&geth->irq_lock);
- 		u64_stats_update_begin(&port->ir_stats_syncp);
- 		++port->stats.rx_fifo_errors;
- 		u64_stats_update_end(&port->ir_stats_syncp);
diff --git a/target/linux/generic/hack-6.6/402-mtd-blktrans-call-add-disks-after-mtd-device.patch b/target/linux/generic/hack-6.6/402-mtd-blktrans-call-add-disks-after-mtd-device.patch
index 29607b155d..24b7963cbf 100644
--- a/target/linux/generic/hack-6.6/402-mtd-blktrans-call-add-disks-after-mtd-device.patch
+++ b/target/linux/generic/hack-6.6/402-mtd-blktrans-call-add-disks-after-mtd-device.patch
@@ -91,7 +91,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  
  #include "mtdcore.h"
  
-@@ -1125,6 +1126,8 @@ int mtd_device_parse_register(struct mtd
+@@ -1127,6 +1128,8 @@ int mtd_device_parse_register(struct mtd
  		register_reboot_notifier(&mtd->reboot_notifier);
  	}
  
diff --git a/target/linux/generic/hack-6.6/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch b/target/linux/generic/hack-6.6/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch
index 89c98f6fbc..dbf1da04ef 100644
--- a/target/linux/generic/hack-6.6/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch
+++ b/target/linux/generic/hack-6.6/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch
@@ -9,7 +9,7 @@ Subject: [PATCH] net/dsa/mv88e6xxx: disable ATU violation
 
 --- a/drivers/net/dsa/mv88e6xxx/chip.c
 +++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -3365,6 +3365,9 @@ static int mv88e6xxx_setup_port(struct m
+@@ -3375,6 +3375,9 @@ static int mv88e6xxx_setup_port(struct m
  	else
  		reg = 1 << port;
  
diff --git a/target/linux/generic/pending-6.6/195-block-fix-and-simplify-blkdevparts-cmdline-parsing.patch b/target/linux/generic/pending-6.6/195-block-fix-and-simplify-blkdevparts-cmdline-parsing.patch
deleted file mode 100644
index d504a74fde..0000000000
--- a/target/linux/generic/pending-6.6/195-block-fix-and-simplify-blkdevparts-cmdline-parsing.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-From patchwork Sun Apr 21 07:39:52 2024
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: INAGAKI Hiroshi <musashino.open at gmail.com>
-X-Patchwork-Id: 13637306
-From: INAGAKI Hiroshi <musashino.open at gmail.com>
-To: axboe at kernel.dk
-Cc: yang.yang29 at zte.com,
-	justinstitt at google.com,
-	xu.panda at zte.com.cn,
-	linux-block at vger.kernel.org,
-	linux-kernel at vger.kernel.org,
-	INAGAKI Hiroshi <musashino.open at gmail.com>,
-	Naohiro Aota <naota at elisp.net>
-Subject: [PATCH] block: fix and simplify blkdevparts= cmdline parsing
-Date: Sun, 21 Apr 2024 16:39:52 +0900
-Message-ID: <20240421074005.565-1-musashino.open at gmail.com>
-X-Mailer: git-send-email 2.42.0.windows.2
-Precedence: bulk
-X-Mailing-List: linux-block at vger.kernel.org
-List-Id: <linux-block.vger.kernel.org>
-List-Subscribe: <mailto:linux-block+subscribe at vger.kernel.org>
-List-Unsubscribe: <mailto:linux-block+unsubscribe at vger.kernel.org>
-MIME-Version: 1.0
-
-Fix the cmdline parsing of the "blkdevparts=" parameter using strsep(),
-which makes the code simpler.
-
-Before commit 146afeb235cc ("block: use strscpy() to instead of
-strncpy()"), we used a strncpy() to copy a block device name and partition
-names. The commit simply replaced a strncpy() and NULL termination with
-a strscpy(). It did not update calculations of length passed to strscpy().
-While the length passed to strncpy() is just a length of valid characters
-without NULL termination ('\0'), strscpy() takes it as a length of the
-destination buffer, including a NULL termination.
-
-Since the source buffer is not necessarily NULL terminated, the current
-code copies "length - 1" characters and puts a NULL character in the
-destination buffer. It replaces the last character with NULL and breaks
-the parsing.
-
-As an example, that buffer will be passed to parse_parts() and breaks
-parsing sub-partitions due to the missing ')' at the end, like the
-following.
-
-example (Check Point V-80 & OpenWrt):
-
-- Linux Kernel 6.6
-
-  [    0.000000] Kernel command line: console=ttyS0,115200 earlycon=uart8250,mmio32,0xf0512000 crashkernel=30M mvpp2x.queue_mode=1 blkdevparts=mmcblk1:48M at 10M(kernel-1),1M(dtb-1),720M(rootfs-1),48M(kernel-2),1M(dtb-2),720M(rootfs-2),300M(default_sw),650M(logs),1M(preset_cfg),1M(adsl),-(storage) maxcpus=4
-  ...
-  [    0.884016] mmc1: new HS200 MMC card at address 0001
-  [    0.889951] mmcblk1: mmc1:0001 004GA0 3.69 GiB
-  [    0.895043] cmdline partition format is invalid.
-  [    0.895704]  mmcblk1: p1
-  [    0.903447] mmcblk1boot0: mmc1:0001 004GA0 2.00 MiB
-  [    0.908667] mmcblk1boot1: mmc1:0001 004GA0 2.00 MiB
-  [    0.913765] mmcblk1rpmb: mmc1:0001 004GA0 512 KiB, chardev (248:0)
-
-  1. "48M at 10M(kernel-1),..." is passed to strscpy() with length=17
-     from parse_parts()
-  2. strscpy() returns -E2BIG and the destination buffer has
-     "48M at 10M(kernel-1\0"
-  3. "48M at 10M(kernel-1\0" is passed to parse_subpart()
-  4. parse_subpart() fails to find ')' when parsing a partition name,
-     and returns error
-
-- Linux Kernel 6.1
-
-  [    0.000000] Kernel command line: console=ttyS0,115200 earlycon=uart8250,mmio32,0xf0512000 crashkernel=30M mvpp2x.queue_mode=1 blkdevparts=mmcblk1:48M at 10M(kernel-1),1M(dtb-1),720M(rootfs-1),48M(kernel-2),1M(dtb-2),720M(rootfs-2),300M(default_sw),650M(logs),1M(preset_cfg),1M(adsl),-(storage) maxcpus=4
-  ...
-  [    0.953142] mmc1: new HS200 MMC card at address 0001
-  [    0.959114] mmcblk1: mmc1:0001 004GA0 3.69 GiB
-  [    0.964259]  mmcblk1: p1(kernel-1) p2(dtb-1) p3(rootfs-1) p4(kernel-2) p5(dtb-2) 6(rootfs-2) p7(default_sw) p8(logs) p9(preset_cfg) p10(adsl) p11(storage)
-  [    0.979174] mmcblk1boot0: mmc1:0001 004GA0 2.00 MiB
-  [    0.984674] mmcblk1boot1: mmc1:0001 004GA0 2.00 MiB
-  [    0.989926] mmcblk1rpmb: mmc1:0001 004GA0 512 KiB, chardev (248:0
-
-By the way, strscpy() takes a length of destination buffer and it is
-often confusing when copying characters with a specified length. Using
-strsep() helps to separate the string by the specified character. Then,
-we can use strscpy() naturally with the size of the destination buffer.
-
-Separating the string on the fly is also useful to omit the redundant
-string copy, reducing memory usage and improve the code readability.
-
-Fixes: 146afeb235cc ("block: use strscpy() to instead of strncpy()")
-Suggested-by: Naohiro Aota <naota at elisp.net>
-Signed-off-by: INAGAKI Hiroshi <musashino.open at gmail.com>
-Reviewed-by: Daniel Golle <daniel at makrotopia.org>
----
- block/partitions/cmdline.c | 49 ++++++++++----------------------------
- 1 file changed, 12 insertions(+), 37 deletions(-)
-
---- a/block/partitions/cmdline.c
-+++ b/block/partitions/cmdline.c
-@@ -70,8 +70,8 @@ static int parse_subpart(struct cmdline_
- 	}
- 
- 	if (*partdef == '(') {
--		int length;
--		char *next = strchr(++partdef, ')');
-+		partdef++;
-+		char *next = strsep(&partdef, ")");
- 
- 		if (!next) {
- 			pr_warn("cmdline partition format is invalid.");
-@@ -79,11 +79,7 @@ static int parse_subpart(struct cmdline_
- 			goto fail;
- 		}
- 
--		length = min_t(int, next - partdef,
--			       sizeof(new_subpart->name) - 1);
--		strscpy(new_subpart->name, partdef, length);
--
--		partdef = ++next;
-+		strscpy(new_subpart->name, next, sizeof(new_subpart->name));
- 	} else
- 		new_subpart->name[0] = '\0';
- 
-@@ -117,14 +113,12 @@ static void free_subpart(struct cmdline_
- 	}
- }
- 
--static int parse_parts(struct cmdline_parts **parts, const char *bdevdef)
-+static int parse_parts(struct cmdline_parts **parts, char *bdevdef)
- {
- 	int ret = -EINVAL;
- 	char *next;
--	int length;
- 	struct cmdline_subpart **next_subpart;
- 	struct cmdline_parts *newparts;
--	char buf[BDEVNAME_SIZE + 32 + 4];
- 
- 	*parts = NULL;
- 
-@@ -132,28 +126,19 @@ static int parse_parts(struct cmdline_pa
- 	if (!newparts)
- 		return -ENOMEM;
- 
--	next = strchr(bdevdef, ':');
-+	next = strsep(&bdevdef, ":");
- 	if (!next) {
- 		pr_warn("cmdline partition has no block device.");
- 		goto fail;
- 	}
- 
--	length = min_t(int, next - bdevdef, sizeof(newparts->name) - 1);
--	strscpy(newparts->name, bdevdef, length);
-+	strscpy(newparts->name, next, sizeof(newparts->name));
- 	newparts->nr_subparts = 0;
- 
- 	next_subpart = &newparts->subpart;
- 
--	while (next && *(++next)) {
--		bdevdef = next;
--		next = strchr(bdevdef, ',');
--
--		length = (!next) ? (sizeof(buf) - 1) :
--			min_t(int, next - bdevdef, sizeof(buf) - 1);
--
--		strscpy(buf, bdevdef, length);
--
--		ret = parse_subpart(next_subpart, buf);
-+	while ((next = strsep(&bdevdef, ","))) {
-+		ret = parse_subpart(next_subpart, next);
- 		if (ret)
- 			goto fail;
- 
-@@ -199,24 +184,17 @@ static int cmdline_parts_parse(struct cm
- 
- 	*parts = NULL;
- 
--	next = pbuf = buf = kstrdup(cmdline, GFP_KERNEL);
-+	pbuf = buf = kstrdup(cmdline, GFP_KERNEL);
- 	if (!buf)
- 		return -ENOMEM;
- 
- 	next_parts = parts;
- 
--	while (next && *pbuf) {
--		next = strchr(pbuf, ';');
--		if (next)
--			*next = '\0';
--
--		ret = parse_parts(next_parts, pbuf);
-+	while ((next = strsep(&pbuf, ";"))) {
-+		ret = parse_parts(next_parts, next);
- 		if (ret)
- 			goto fail;
- 
--		if (next)
--			pbuf = ++next;
--
- 		next_parts = &(*next_parts)->next_parts;
- 	}
- 
-@@ -250,7 +228,6 @@ static struct cmdline_parts *bdev_parts;
- static int add_part(int slot, struct cmdline_subpart *subpart,
- 		struct parsed_partitions *state)
- {
--	int label_min;
- 	struct partition_meta_info *info;
- 	char tmp[sizeof(info->volname) + 4];
- 
-@@ -262,9 +239,7 @@ static int add_part(int slot, struct cmd
- 
- 	info = &state->parts[slot].info;
- 
--	label_min = min_t(int, sizeof(info->volname) - 1,
--			  sizeof(subpart->name));
--	strscpy(info->volname, subpart->name, label_min);
-+	strscpy(info->volname, subpart->name, sizeof(info->volname));
- 
- 	snprintf(tmp, sizeof(tmp), "(%s)", info->volname);
- 	strlcat(state->pp_buf, tmp, PAGE_SIZE);
diff --git a/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch b/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch
index 117edbcef2..26ef29ca87 100644
--- a/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch
+++ b/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch
@@ -36,7 +36,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -22006,6 +22006,12 @@ F:	Documentation/filesystems/ubifs-authe
+@@ -22014,6 +22014,12 @@ F:	Documentation/filesystems/ubifs-authe
  F:	Documentation/filesystems/ubifs.rst
  F:	fs/ubifs/
  
diff --git a/target/linux/generic/pending-6.6/630-packet_socket_type.patch b/target/linux/generic/pending-6.6/630-packet_socket_type.patch
index 02d6700af9..10a312776f 100644
--- a/target/linux/generic/pending-6.6/630-packet_socket_type.patch
+++ b/target/linux/generic/pending-6.6/630-packet_socket_type.patch
@@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	if (!net_eq(dev_net(dev), sock_net(sk)))
  		goto drop;
  
-@@ -3386,6 +3388,7 @@ static int packet_create(struct net *net
+@@ -3385,6 +3387,7 @@ static int packet_create(struct net *net
  	mutex_init(&po->pg_vec_lock);
  	po->rollover = NULL;
  	po->prot_hook.func = packet_rcv;
@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
  	if (sock->type == SOCK_PACKET)
  		po->prot_hook.func = packet_rcv_spkt;
-@@ -4035,6 +4038,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -4034,6 +4037,16 @@ packet_setsockopt(struct socket *sock, i
  		packet_sock_flag_set(po, PACKET_SOCK_QDISC_BYPASS, val);
  		return 0;
  	}
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	default:
  		return -ENOPROTOOPT;
  	}
-@@ -4094,6 +4107,13 @@ static int packet_getsockopt(struct sock
+@@ -4093,6 +4106,13 @@ static int packet_getsockopt(struct sock
  	case PACKET_VNET_HDR_SZ:
  		val = READ_ONCE(po->vnet_hdr_sz);
  		break;
diff --git a/target/linux/generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch b/target/linux/generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch
index cd77626677..7672f46d20 100644
--- a/target/linux/generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch
+++ b/target/linux/generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch
@@ -31,7 +31,7 @@ Signe-off-by: Felix Fietkau <nbd at nbd.name>
  static inline void gro_normal_list(struct napi_struct *napi)
 --- a/include/net/tcp.h
 +++ b/include/net/tcp.h
-@@ -2082,7 +2082,10 @@ void tcp_v4_destroy_sock(struct sock *sk
+@@ -2083,7 +2083,10 @@ void tcp_v4_destroy_sock(struct sock *sk
  
  struct sk_buff *tcp_gso_segment(struct sk_buff *skb,
  				netdev_features_t features);
diff --git a/target/linux/generic/pending-6.6/739-05-net-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch b/target/linux/generic/pending-6.6/739-05-net-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch
index 73ec05464a..c7fcac3abf 100644
--- a/target/linux/generic/pending-6.6/739-05-net-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch
+++ b/target/linux/generic/pending-6.6/739-05-net-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch
@@ -19,7 +19,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -13348,7 +13348,9 @@ M:	Daniel Golle <daniel at makrotopia.org>
+@@ -13356,7 +13356,9 @@ M:	Daniel Golle <daniel at makrotopia.org>
  L:	netdev at vger.kernel.org
  S:	Maintained
  F:	drivers/net/pcs/pcs-mtk-lynxi.c
diff --git a/target/linux/generic/pending-6.6/760-net-core-add-optional-threading-for-backlog-processi.patch b/target/linux/generic/pending-6.6/760-net-core-add-optional-threading-for-backlog-processi.patch
index 5372171b42..8a9066bf12 100644
--- a/target/linux/generic/pending-6.6/760-net-core-add-optional-threading-for-backlog-processi.patch
+++ b/target/linux/generic/pending-6.6/760-net-core-add-optional-threading-for-backlog-processi.patch
@@ -157,7 +157,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi,
  			   int (*poll)(struct napi_struct *, int), int weight)
  {
-@@ -11306,6 +11377,9 @@ static int dev_cpu_dead(unsigned int old
+@@ -11307,6 +11378,9 @@ static int dev_cpu_dead(unsigned int old
  	raise_softirq_irqoff(NET_TX_SOFTIRQ);
  	local_irq_enable();
  
@@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  #ifdef CONFIG_RPS
  	remsd = oldsd->rps_ipi_list;
  	oldsd->rps_ipi_list = NULL;
-@@ -11621,6 +11695,7 @@ static int __init net_dev_init(void)
+@@ -11622,6 +11696,7 @@ static int __init net_dev_init(void)
  		INIT_CSD(&sd->defer_csd, trigger_rx_softirq, sd);
  		spin_lock_init(&sd->defer_lock);
  
diff --git a/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch b/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch
index ea3c6c8fe9..56a015b71e 100644
--- a/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch
+++ b/target/linux/generic/pending-6.6/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch
@@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias at waldekranz.com>
 
 --- a/drivers/net/dsa/mv88e6xxx/chip.c
 +++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -6947,6 +6947,7 @@ static int mv88e6xxx_register_switch(str
+@@ -6989,6 +6989,7 @@ static int mv88e6xxx_register_switch(str
  	ds->ops = &mv88e6xxx_switch_ops;
  	ds->ageing_time_min = chip->info->age_time_coeff;
  	ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
diff --git a/target/linux/ipq40xx/patches-6.6/700-net-ipqess-introduce-the-Qualcomm-IPQESS-driver.patch b/target/linux/ipq40xx/patches-6.6/700-net-ipqess-introduce-the-Qualcomm-IPQESS-driver.patch
index a15efe57d8..5c57f73fa6 100644
--- a/target/linux/ipq40xx/patches-6.6/700-net-ipqess-introduce-the-Qualcomm-IPQESS-driver.patch
+++ b/target/linux/ipq40xx/patches-6.6/700-net-ipqess-introduce-the-Qualcomm-IPQESS-driver.patch
@@ -32,7 +32,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
 
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -17708,6 +17708,13 @@ L:	netdev at vger.kernel.org
+@@ -17716,6 +17716,13 @@ L:	netdev at vger.kernel.org
  S:	Maintained
  F:	drivers/net/ethernet/qualcomm/emac/
  
diff --git a/target/linux/ipq40xx/patches-6.6/701-net-dsa-add-out-of-band-tagging-protocol.patch b/target/linux/ipq40xx/patches-6.6/701-net-dsa-add-out-of-band-tagging-protocol.patch
index f535ef2d89..9c4b520fcd 100644
--- a/target/linux/ipq40xx/patches-6.6/701-net-dsa-add-out-of-band-tagging-protocol.patch
+++ b/target/linux/ipq40xx/patches-6.6/701-net-dsa-add-out-of-band-tagging-protocol.patch
@@ -64,7 +64,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
  
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -17714,6 +17714,7 @@ L:	netdev at vger.kernel.org
+@@ -17722,6 +17722,7 @@ L:	netdev at vger.kernel.org
  S:	Maintained
  F:	Documentation/devicetree/bindings/net/qcom,ipq4019-ess-edma.yaml
  F:	drivers/net/ethernet/qualcomm/ipqess/
diff --git a/target/linux/layerscape/armv8_64b/config-6.6 b/target/linux/layerscape/armv8_64b/config-6.6
index 71692ef4ee..f95b4603be 100644
--- a/target/linux/layerscape/armv8_64b/config-6.6
+++ b/target/linux/layerscape/armv8_64b/config-6.6
@@ -283,6 +283,7 @@ CONFIG_FB_CFB_FILLRECT=y
 CONFIG_FB_CFB_IMAGEBLIT=y
 CONFIG_FB_CORE=y
 CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_IOMEM_FOPS=y
 CONFIG_FB_MODE_HELPERS=y
 CONFIG_FB_SYSMEM_HELPERS=y
 CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
diff --git a/target/linux/loongarch64/config-6.6 b/target/linux/loongarch64/config-6.6
index 596301f0f4..6f637a6f01 100644
--- a/target/linux/loongarch64/config-6.6
+++ b/target/linux/loongarch64/config-6.6
@@ -247,6 +247,7 @@ CONFIG_FB_CORE=y
 CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_DEVICE=y
 CONFIG_FB_EFI=y
+CONFIG_FB_IOMEM_FOPS=y
 CONFIG_FB_IOMEM_HELPERS=y
 CONFIG_FB_MODE_HELPERS=y
 CONFIG_FB_SIMPLE=y
diff --git a/target/linux/mediatek/mt7623/config-6.6 b/target/linux/mediatek/mt7623/config-6.6
index de32b83e94..9d6c5eed96 100644
--- a/target/linux/mediatek/mt7623/config-6.6
+++ b/target/linux/mediatek/mt7623/config-6.6
@@ -217,6 +217,7 @@ CONFIG_FB=y
 CONFIG_FB_CORE=y
 CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_DEVICE=y
+CONFIG_FB_IOMEM_FOPS=y
 CONFIG_FB_SYSMEM_HELPERS=y
 CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
 CONFIG_FB_SYS_COPYAREA=y
diff --git a/target/linux/mediatek/patches-6.6/041-block-fit-partition-parser.patch b/target/linux/mediatek/patches-6.6/041-block-fit-partition-parser.patch
index feb50c157b..2d85313f8d 100644
--- a/target/linux/mediatek/patches-6.6/041-block-fit-partition-parser.patch
+++ b/target/linux/mediatek/patches-6.6/041-block-fit-partition-parser.patch
@@ -19,7 +19,7 @@ Subject: [PATCH] kernel: add block fit partition parser
 
 --- a/block/blk.h
 +++ b/block/blk.h
-@@ -423,6 +423,8 @@ void blk_free_ext_minor(unsigned int min
+@@ -424,6 +424,8 @@ void blk_free_ext_minor(unsigned int min
  #define ADDPART_FLAG_NONE	0
  #define ADDPART_FLAG_RAID	1
  #define ADDPART_FLAG_WHOLEDISK	2
diff --git a/target/linux/mediatek/patches-6.6/432-drivers-spi-Add-support-for-dynamic-calibration.patch b/target/linux/mediatek/patches-6.6/432-drivers-spi-Add-support-for-dynamic-calibration.patch
index b5505c803a..7ad07c3583 100644
--- a/target/linux/mediatek/patches-6.6/432-drivers-spi-Add-support-for-dynamic-calibration.patch
+++ b/target/linux/mediatek/patches-6.6/432-drivers-spi-Add-support-for-dynamic-calibration.patch
@@ -11,7 +11,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang at mediatek.com>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -1366,6 +1366,70 @@ static int spi_transfer_wait(struct spi_
+@@ -1370,6 +1370,70 @@ static int spi_transfer_wait(struct spi_
  	return 0;
  }
  
@@ -82,7 +82,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang at mediatek.com>
  static void _spi_transfer_delay_ns(u32 ns)
  {
  	if (!ns)
-@@ -2211,6 +2275,75 @@ void spi_flush_queue(struct spi_controll
+@@ -2215,6 +2279,75 @@ void spi_flush_queue(struct spi_controll
  /*-------------------------------------------------------------------------*/
  
  #if defined(CONFIG_OF)
@@ -158,7 +158,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang at mediatek.com>
  static void of_spi_parse_dt_cs_delay(struct device_node *nc,
  				     struct spi_delay *delay, const char *prop)
  {
-@@ -2350,6 +2483,10 @@ of_register_spi_device(struct spi_contro
+@@ -2354,6 +2487,10 @@ of_register_spi_device(struct spi_contro
  	if (rc)
  		goto err_out;
  
diff --git a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch
index 80d5ec3b4a..b58cb786ad 100644
--- a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch
+++ b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
 
 --- a/drivers/media/usb/uvc/uvc_driver.c
 +++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -3120,6 +3120,18 @@ static const struct usb_device_id uvc_id
+@@ -3151,6 +3151,18 @@ static const struct usb_device_id uvc_id
  	  .bInterfaceSubClass	= 1,
  	  .bInterfaceProtocol	= 0,
  	  .driver_info		= UVC_INFO_META(V4L2_META_FMT_D4XX) },
@@ -225,16 +225,16 @@ Signed-off-by: John Crispin <blogic at openwrt.org>
  	for_each_uvc_urb(uvc_urb, stream) {
 --- a/drivers/media/usb/uvc/uvcvideo.h
 +++ b/drivers/media/usb/uvc/uvcvideo.h
-@@ -73,6 +73,8 @@
- #define UVC_QUIRK_FORCE_Y8		0x00000800
+@@ -74,6 +74,8 @@
  #define UVC_QUIRK_FORCE_BPP		0x00001000
  #define UVC_QUIRK_WAKE_AUTOSUSPEND	0x00002000
-+#define UVC_QUIRK_MOTION		0x00004000
-+#define UVC_QUIRK_SINGLE_ISO		0x00008000
+ #define UVC_QUIRK_NO_RESET_RESUME	0x00004000
++#define UVC_QUIRK_MOTION		0x00008000
++#define UVC_QUIRK_SINGLE_ISO		0x00010000
  
  /* Format flags */
  #define UVC_FMT_FLAG_COMPRESSED		0x00000001
-@@ -582,6 +584,7 @@ struct uvc_device {
+@@ -583,6 +585,7 @@ struct uvc_device {
  
  	struct input_dev *input;
  	char input_phys[64];
diff --git a/target/linux/tegra/config-6.6 b/target/linux/tegra/config-6.6
index c86a51a572..9cecf9f693 100644
--- a/target/linux/tegra/config-6.6
+++ b/target/linux/tegra/config-6.6
@@ -197,6 +197,7 @@ CONFIG_FB=y
 CONFIG_FB_CORE=y
 CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_DMAMEM_HELPERS=y
+CONFIG_FB_IOMEM_FOPS=y
 CONFIG_FB_SYSMEM_HELPERS=y
 CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
 CONFIG_FB_SYS_COPYAREA=y
diff --git a/target/linux/x86/64/config-6.6 b/target/linux/x86/64/config-6.6
index 8533d57532..d5f86141b0 100644
--- a/target/linux/x86/64/config-6.6
+++ b/target/linux/x86/64/config-6.6
@@ -217,6 +217,7 @@ CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_DEVICE=y
 CONFIG_FB_EFI=y
 CONFIG_FB_HYPERV=y
+CONFIG_FB_IOMEM_FOPS=y
 CONFIG_FB_IOMEM_HELPERS=y
 CONFIG_FB_MODE_HELPERS=y
 CONFIG_FB_SIMPLE=y
diff --git a/target/linux/x86/generic/config-6.6 b/target/linux/x86/generic/config-6.6
index c02ec35100..4c0a052c7b 100644
--- a/target/linux/x86/generic/config-6.6
+++ b/target/linux/x86/generic/config-6.6
@@ -152,6 +152,7 @@ CONFIG_FB_DEVICE=y
 CONFIG_FB_EFI=y
 CONFIG_FB_HYPERV=y
 # CONFIG_FB_I810 is not set
+CONFIG_FB_IOMEM_FOPS=y
 CONFIG_FB_IOMEM_HELPERS=y
 CONFIG_FB_SIMPLE=y
 CONFIG_FB_SYSMEM_HELPERS=y
diff --git a/target/linux/x86/legacy/config-6.6 b/target/linux/x86/legacy/config-6.6
index f71747e433..323f20dba6 100644
--- a/target/linux/x86/legacy/config-6.6
+++ b/target/linux/x86/legacy/config-6.6
@@ -111,6 +111,7 @@ CONFIG_FB_CORE=y
 CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_DEVICE=y
 # CONFIG_FB_I810 is not set
+CONFIG_FB_IOMEM_FOPS=y
 CONFIG_FB_IOMEM_HELPERS=y
 CONFIG_FB_SYSMEM_HELPERS=y
 CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y




More information about the lede-commits mailing list