From 461072fc7b3d8fa77347a884fe5d36c81f660da8 Mon Sep 17 00:00:00 2001 From: John Audia Date: Wed, 15 Feb 2023 14:05:27 -0500 Subject: [PATCH] kernel: bump 5.10 to 5.10.168 Manually rebased: backport-5.10/804-v5.14-0001-nvmem-core-allow-specifying-of_node.patch Removed upstreamed: generic-backport/807-v5.17-0003-nvmem-core-Fix-a-conflict-between-MTD-and-NVMEM-on-w.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.168&id=34ec4c7831c416ac56619477f1701986634a7efc Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia --- include/kernel-5.10 | 4 +- .../910-unaligned_access_hacks.patch | 4 +- ...core-Add-support-for-keepout-regions.patch | 6 +- ...-nvmem-core-allow-specifying-of_node.patch | 6 +- ...rror-handling-while-validating-keepo.patch | 2 +- ...-nvmem-cell-post-processing-callback.patch | 4 +- ...-conflict-between-MTD-and-NVMEM-on-w.patch | 68 ------------------- ...m-core-Fix-memleak-in-nvmem_register.patch | 2 +- ...-add-error-handling-for-dev_set_name.patch | 2 +- ...e_mem_map-with-ARCH_PFN_OFFSET-calcu.patch | 2 +- 10 files changed, 16 insertions(+), 84 deletions(-) delete mode 100644 target/linux/generic/backport-5.10/807-v5.17-0003-nvmem-core-Fix-a-conflict-between-MTD-and-NVMEM-on-w.patch diff --git a/include/kernel-5.10 b/include/kernel-5.10 index 0198540361..e0bdccaf43 100644 --- a/include/kernel-5.10 +++ b/include/kernel-5.10 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.10 = .167 -LINUX_KERNEL_HASH-5.10.167 = d807f97812e566410cd13b3170009e0d7552748d4f22d608ffd4dbd7f85bf9c6 +LINUX_VERSION-5.10 = .168 +LINUX_KERNEL_HASH-5.10.168 = b67d2596ba8d30510f743f31899c94c43eaf006a254ff44d7fc6ea26e7ab359c diff --git a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch index 1891a6425e..0de433914d 100644 --- a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch @@ -162,7 +162,7 @@ SVN-Revision: 35130 --- a/include/uapi/linux/ip.h +++ b/include/uapi/linux/ip.h -@@ -105,7 +105,7 @@ struct iphdr { +@@ -106,7 +106,7 @@ struct iphdr { __be32 daddr; ); /*The options start here. */ @@ -173,7 +173,7 @@ SVN-Revision: 35130 struct ip_auth_hdr { --- a/include/uapi/linux/ipv6.h +++ b/include/uapi/linux/ipv6.h -@@ -134,7 +134,7 @@ struct ipv6hdr { +@@ -135,7 +135,7 @@ struct ipv6hdr { struct in6_addr saddr; struct in6_addr daddr; ); diff --git a/target/linux/generic/backport-5.10/801-v5.11-0001-nvmem-core-Add-support-for-keepout-regions.patch b/target/linux/generic/backport-5.10/801-v5.11-0001-nvmem-core-Add-support-for-keepout-regions.patch index 6fe5032f33..23879d40af 100644 --- a/target/linux/generic/backport-5.10/801-v5.11-0001-nvmem-core-Add-support-for-keepout-regions.patch +++ b/target/linux/generic/backport-5.10/801-v5.11-0001-nvmem-core-Add-support-for-keepout-regions.patch @@ -203,7 +203,7 @@ Signed-off-by: Greg Kroah-Hartman static int nvmem_add_cells_from_of(struct nvmem_device *nvmem) { struct device_node *parent, *child; -@@ -655,6 +792,8 @@ struct nvmem_device *nvmem_register(cons +@@ -656,6 +793,8 @@ struct nvmem_device *nvmem_register(cons nvmem->type = config->type; nvmem->reg_read = config->reg_read; nvmem->reg_write = config->reg_write; @@ -212,7 +212,7 @@ Signed-off-by: Greg Kroah-Hartman if (!config->no_of_node) nvmem->dev.of_node = config->dev->of_node; -@@ -679,6 +818,12 @@ struct nvmem_device *nvmem_register(cons +@@ -680,6 +819,12 @@ struct nvmem_device *nvmem_register(cons nvmem->dev.groups = nvmem_dev_groups; #endif @@ -256,7 +256,7 @@ Signed-off-by: Greg Kroah-Hartman * @type: Type of the nvmem storage * @read_only: Device is read-only. * @root_only: Device is accessibly to root only. -@@ -66,6 +81,8 @@ struct nvmem_config { +@@ -67,6 +82,8 @@ struct nvmem_config { struct gpio_desc *wp_gpio; const struct nvmem_cell_info *cells; int ncells; diff --git a/target/linux/generic/backport-5.10/804-v5.14-0001-nvmem-core-allow-specifying-of_node.patch b/target/linux/generic/backport-5.10/804-v5.14-0001-nvmem-core-allow-specifying-of_node.patch index 8c5a55e364..5889e61910 100644 --- a/target/linux/generic/backport-5.10/804-v5.14-0001-nvmem-core-allow-specifying-of_node.patch +++ b/target/linux/generic/backport-5.10/804-v5.14-0001-nvmem-core-allow-specifying-of_node.patch @@ -49,7 +49,7 @@ Link: https://lore.kernel.org/linux-mtd/20210424110608.15748-2-michael@walle.cc --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c -@@ -794,7 +794,9 @@ struct nvmem_device *nvmem_register(cons +@@ -795,7 +795,9 @@ struct nvmem_device *nvmem_register(cons nvmem->reg_write = config->reg_write; nvmem->keepout = config->keepout; nvmem->nkeepout = config->nkeepout; @@ -70,11 +70,11 @@ Link: https://lore.kernel.org/linux-mtd/20210424110608.15748-2-michael@walle.cc * @no_of_node: Device should not use the parent's of_node even if it's !NULL. * @reg_read: Callback to read data. * @reg_write: Callback to write data. -@@ -86,6 +87,7 @@ struct nvmem_config { +@@ -87,6 +88,7 @@ struct nvmem_config { enum nvmem_type type; bool read_only; bool root_only; + struct device_node *of_node; + bool ignore_wp; bool no_of_node; nvmem_reg_read_t reg_read; - nvmem_reg_write_t reg_write; diff --git a/target/linux/generic/backport-5.10/805-v5.15-0003-nvmem-core-fix-error-handling-while-validating-keepo.patch b/target/linux/generic/backport-5.10/805-v5.15-0003-nvmem-core-fix-error-handling-while-validating-keepo.patch index 59c9281cdb..e5342e79d3 100644 --- a/target/linux/generic/backport-5.10/805-v5.15-0003-nvmem-core-fix-error-handling-while-validating-keepo.patch +++ b/target/linux/generic/backport-5.10/805-v5.15-0003-nvmem-core-fix-error-handling-while-validating-keepo.patch @@ -20,7 +20,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c -@@ -826,8 +826,11 @@ struct nvmem_device *nvmem_register(cons +@@ -827,8 +827,11 @@ struct nvmem_device *nvmem_register(cons if (nvmem->nkeepout) { rval = nvmem_validate_keepouts(nvmem); diff --git a/target/linux/generic/backport-5.10/806-v5.16-0002-nvmem-core-add-nvmem-cell-post-processing-callback.patch b/target/linux/generic/backport-5.10/806-v5.16-0002-nvmem-core-add-nvmem-cell-post-processing-callback.patch index 787fea3037..a5d4ace4e5 100644 --- a/target/linux/generic/backport-5.10/806-v5.16-0002-nvmem-core-add-nvmem-cell-post-processing-callback.patch +++ b/target/linux/generic/backport-5.10/806-v5.16-0002-nvmem-core-add-nvmem-cell-post-processing-callback.patch @@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman struct gpio_desc *wp_gpio; void *priv; }; -@@ -798,6 +799,7 @@ struct nvmem_device *nvmem_register(cons +@@ -799,6 +800,7 @@ struct nvmem_device *nvmem_register(cons nvmem->type = config->type; nvmem->reg_read = config->reg_read; nvmem->reg_write = config->reg_write; @@ -72,7 +72,7 @@ Signed-off-by: Greg Kroah-Hartman * @size: Device size. * @word_size: Minimum read/write access granularity. * @stride: Minimum read/write access stride. -@@ -92,6 +96,7 @@ struct nvmem_config { +@@ -94,6 +98,7 @@ struct nvmem_config { bool no_of_node; nvmem_reg_read_t reg_read; nvmem_reg_write_t reg_write; diff --git a/target/linux/generic/backport-5.10/807-v5.17-0003-nvmem-core-Fix-a-conflict-between-MTD-and-NVMEM-on-w.patch b/target/linux/generic/backport-5.10/807-v5.17-0003-nvmem-core-Fix-a-conflict-between-MTD-and-NVMEM-on-w.patch deleted file mode 100644 index a9ef3e27e0..0000000000 --- a/target/linux/generic/backport-5.10/807-v5.17-0003-nvmem-core-Fix-a-conflict-between-MTD-and-NVMEM-on-w.patch +++ /dev/null @@ -1,68 +0,0 @@ -From f6c052afe6f802d87c74153b7a57c43b2e9faf07 Mon Sep 17 00:00:00 2001 -From: Christophe Kerello -Date: Sun, 20 Feb 2022 15:14:31 +0000 -Subject: [PATCH] nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios - property - -Wp-gpios property can be used on NVMEM nodes and the same property can -be also used on MTD NAND nodes. In case of the wp-gpios property is -defined at NAND level node, the GPIO management is done at NAND driver -level. Write protect is disabled when the driver is probed or resumed -and is enabled when the driver is released or suspended. - -When no partitions are defined in the NAND DT node, then the NAND DT node -will be passed to NVMEM framework. If wp-gpios property is defined in -this node, the GPIO resource is taken twice and the NAND controller -driver fails to probe. - -It would be possible to set config->wp_gpio at MTD level before calling -nvmem_register function but NVMEM framework will toggle this GPIO on -each write when this GPIO should only be controlled at NAND level driver -to ensure that the Write Protect has not been enabled. - -A way to fix this conflict is to add a new boolean flag in nvmem_config -named ignore_wp. In case ignore_wp is set, the GPIO resource will -be managed by the provider. - -Fixes: 2a127da461a9 ("nvmem: add support for the write-protect pin") -Cc: stable@vger.kernel.org -Signed-off-by: Christophe Kerello -Signed-off-by: Srinivas Kandagatla -Link: https://lore.kernel.org/r/20220220151432.16605-2-srinivas.kandagatla@linaro.org -Signed-off-by: Greg Kroah-Hartman ---- - drivers/nvmem/core.c | 2 +- - include/linux/nvmem-provider.h | 4 +++- - 2 files changed, 4 insertions(+), 2 deletions(-) - ---- a/drivers/nvmem/core.c -+++ b/drivers/nvmem/core.c -@@ -771,7 +771,7 @@ struct nvmem_device *nvmem_register(cons - - if (config->wp_gpio) - nvmem->wp_gpio = config->wp_gpio; -- else -+ else if (!config->ignore_wp) - nvmem->wp_gpio = gpiod_get_optional(config->dev, "wp", - GPIOD_OUT_HIGH); - if (IS_ERR(nvmem->wp_gpio)) { ---- a/include/linux/nvmem-provider.h -+++ b/include/linux/nvmem-provider.h -@@ -70,7 +70,8 @@ struct nvmem_keepout { - * @word_size: Minimum read/write access granularity. - * @stride: Minimum read/write access stride. - * @priv: User context passed to read/write callbacks. -- * @wp-gpio: Write protect pin -+ * @wp-gpio: Write protect pin -+ * @ignore_wp: Write Protect pin is managed by the provider. - * - * Note: A default "nvmem" name will be assigned to the device if - * no name is specified in its configuration. In such case "" is -@@ -92,6 +93,7 @@ struct nvmem_config { - enum nvmem_type type; - bool read_only; - bool root_only; -+ bool ignore_wp; - struct device_node *of_node; - bool no_of_node; - nvmem_reg_read_t reg_read; diff --git a/target/linux/generic/backport-5.10/811-v6.1-0001-nvmem-core-Fix-memleak-in-nvmem_register.patch b/target/linux/generic/backport-5.10/811-v6.1-0001-nvmem-core-Fix-memleak-in-nvmem_register.patch index 4d7ad9bba7..698e737973 100644 --- a/target/linux/generic/backport-5.10/811-v6.1-0001-nvmem-core-Fix-memleak-in-nvmem_register.patch +++ b/target/linux/generic/backport-5.10/811-v6.1-0001-nvmem-core-Fix-memleak-in-nvmem_register.patch @@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c -@@ -829,21 +829,18 @@ struct nvmem_device *nvmem_register(cons +@@ -830,21 +830,18 @@ struct nvmem_device *nvmem_register(cons nvmem->dev.groups = nvmem_dev_groups; #endif diff --git a/target/linux/generic/backport-5.10/811-v6.1-0003-nvmem-core-add-error-handling-for-dev_set_name.patch b/target/linux/generic/backport-5.10/811-v6.1-0003-nvmem-core-add-error-handling-for-dev_set_name.patch index 34a28fa6fe..322a1f6b55 100644 --- a/target/linux/generic/backport-5.10/811-v6.1-0003-nvmem-core-add-error-handling-for-dev_set_name.patch +++ b/target/linux/generic/backport-5.10/811-v6.1-0003-nvmem-core-add-error-handling-for-dev_set_name.patch @@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c -@@ -810,18 +810,24 @@ struct nvmem_device *nvmem_register(cons +@@ -811,18 +811,24 @@ struct nvmem_device *nvmem_register(cons switch (config->id) { case NVMEM_DEVID_NONE: diff --git a/target/linux/generic/pending-5.10/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-5.10/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch index e00382149a..1adfd22e87 100644 --- a/target/linux/generic/pending-5.10/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch +++ b/target/linux/generic/pending-5.10/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch @@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -7104,7 +7104,7 @@ static void __ref alloc_node_mem_map(str +@@ -7107,7 +7107,7 @@ static void __ref alloc_node_mem_map(str if (pgdat == NODE_DATA(0)) { mem_map = NODE_DATA(0)->node_mem_map; if (page_to_pfn(mem_map) != pgdat->node_start_pfn) -- 2.30.2