From: John Audia Date: Fri, 1 Aug 2025 09:26:34 +0000 (-0400) Subject: kernel: bump 6.12 to 6.12.41 X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=23b8205fe228e2192916241d42eb1336b9279f74;p=openwrt%2Fstaging%2Fthess.git kernel: bump 6.12 to 6.12.41 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.41 All patches automatically rebased. Build system: x86/64 Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64-glibc Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/19618 Signed-off-by: Robert Marko --- diff --git a/target/linux/bcm27xx/patches-6.12/950-0154-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch b/target/linux/bcm27xx/patches-6.12/950-0154-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch index b580ee5377..e9f351d518 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0154-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0154-staging-vchiq_arm-Register-vcsm-cma-as-a-platform-dr.patch @@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson static const struct vchiq_platform_info bcm2835_info = { .cache_line_size = 32, -@@ -1760,6 +1761,7 @@ static int vchiq_probe(struct platform_d +@@ -1759,6 +1760,7 @@ static int vchiq_probe(struct platform_d vchiq_debugfs_init(&mgmt->state); @@ -29,7 +29,7 @@ Signed-off-by: Dave Stevenson bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio"); bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera"); -@@ -1778,6 +1780,7 @@ static void vchiq_remove(struct platform +@@ -1777,6 +1779,7 @@ static void vchiq_remove(struct platform vchiq_device_unregister(bcm2835_audio); vchiq_device_unregister(bcm2835_camera); diff --git a/target/linux/bcm27xx/patches-6.12/950-0155-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch b/target/linux/bcm27xx/patches-6.12/950-0155-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch index 874bf15d34..acc70e2977 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0155-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0155-staging-vchiq_arm-Register-bcm2835-codec-as-a-platfo.patch @@ -22,7 +22,7 @@ Signed-off-by: Dave Stevenson static struct vchiq_device *vcsm_cma; static const struct vchiq_platform_info bcm2835_info = { -@@ -1762,6 +1763,7 @@ static int vchiq_probe(struct platform_d +@@ -1761,6 +1762,7 @@ static int vchiq_probe(struct platform_d vchiq_debugfs_init(&mgmt->state); vcsm_cma = vchiq_device_register(&pdev->dev, "vcsm-cma"); @@ -30,7 +30,7 @@ Signed-off-by: Dave Stevenson bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio"); bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera"); -@@ -1780,6 +1782,7 @@ static void vchiq_remove(struct platform +@@ -1779,6 +1781,7 @@ static void vchiq_remove(struct platform vchiq_device_unregister(bcm2835_audio); vchiq_device_unregister(bcm2835_camera); diff --git a/target/linux/bcm27xx/patches-6.12/950-0161-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch b/target/linux/bcm27xx/patches-6.12/950-0161-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch index 0c7fd01ec8..b2b470eaeb 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0161-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0161-staging-vchiq_arm-Set-up-dma-ranges-on-child-devices.patch @@ -234,7 +234,7 @@ Signed-off-by: Phil Elwell dev_dbg(&pdev->dev, "arm: vchiq_init - done (slots %pK, phys %pad)\n", vchiq_slot_zero, &slot_phys); -@@ -1711,6 +1777,7 @@ void vchiq_platform_conn_state_changed(s +@@ -1710,6 +1776,7 @@ void vchiq_platform_conn_state_changed(s static const struct of_device_id vchiq_of_match[] = { { .compatible = "brcm,bcm2835-vchiq", .data = &bcm2835_info }, { .compatible = "brcm,bcm2836-vchiq", .data = &bcm2836_info }, diff --git a/target/linux/bcm27xx/patches-6.12/950-0163-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch b/target/linux/bcm27xx/patches-6.12/950-0163-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch index 1ba21abf1d..c9394bc85b 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0163-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0163-staging-vchiq-Load-bcm2835_isp-driver-from-vchiq.patch @@ -21,7 +21,7 @@ Signed-off-by: Naushir Patuck static struct vchiq_device *vcsm_cma; static const struct vchiq_platform_info bcm2835_info = { -@@ -1858,6 +1859,7 @@ static int vchiq_probe(struct platform_d +@@ -1857,6 +1858,7 @@ static int vchiq_probe(struct platform_d bcm2835_codec = vchiq_device_register(&pdev->dev, "bcm2835-codec"); bcm2835_audio = vchiq_device_register(&pdev->dev, "bcm2835-audio"); bcm2835_camera = vchiq_device_register(&pdev->dev, "bcm2835-camera"); @@ -29,7 +29,7 @@ Signed-off-by: Naushir Patuck return 0; -@@ -1872,6 +1874,7 @@ static void vchiq_remove(struct platform +@@ -1871,6 +1873,7 @@ static void vchiq_remove(struct platform struct vchiq_drv_mgmt *mgmt = dev_get_drvdata(&pdev->dev); struct vchiq_arm_state *arm_state; diff --git a/target/linux/bcm27xx/patches-6.12/950-0521-mm-vmscan-Maintain-TLB-coherency-in-LRU-code.patch b/target/linux/bcm27xx/patches-6.12/950-0521-mm-vmscan-Maintain-TLB-coherency-in-LRU-code.patch index 26f11df2a1..66472a96bf 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0521-mm-vmscan-Maintain-TLB-coherency-in-LRU-code.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0521-mm-vmscan-Maintain-TLB-coherency-in-LRU-code.patch @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -4128,7 +4128,7 @@ bool lru_gen_look_around(struct page_vma +@@ -4136,7 +4136,7 @@ bool lru_gen_look_around(struct page_vma if (!folio) continue; diff --git a/target/linux/generic/backport-6.12/410-01-v6.14-mtd-rawnand-qcom-cleanup-qcom_nandc-driver.patch b/target/linux/generic/backport-6.12/410-01-v6.14-mtd-rawnand-qcom-cleanup-qcom_nandc-driver.patch index 95b66071ad..1d1288e832 100644 --- a/target/linux/generic/backport-6.12/410-01-v6.14-mtd-rawnand-qcom-cleanup-qcom_nandc-driver.patch +++ b/target/linux/generic/backport-6.12/410-01-v6.14-mtd-rawnand-qcom-cleanup-qcom_nandc-driver.patch @@ -815,7 +815,15 @@ Signed-off-by: Miquel Raynal read_reg_dma(nandc, NAND_FLASH_STATUS, 1, NAND_BAM_NEXT_SGL); ret = submit_descs(nandc); -@@ -2864,7 +2815,7 @@ static int qcom_param_page_type_exec(str +@@ -2862,14 +2813,14 @@ static int qcom_param_page_type_exec(str + + reg_base = NAND_READ_LOCATION_0; + +- if (nandc->props->qpic_v2) ++ if (nandc->props->qpic_version2) + reg_base = NAND_READ_LOCATION_LAST_CW_0; + + ret = qcom_parse_instructions(chip, subop, &q_op); if (ret) return ret; @@ -824,7 +832,7 @@ Signed-off-by: Miquel Raynal nandc->buf_count = 0; nandc->buf_start = 0; -@@ -2872,38 +2823,38 @@ static int qcom_param_page_type_exec(str +@@ -2877,52 +2828,52 @@ static int qcom_param_page_type_exec(str clear_read_regs(nandc); clear_bam_transaction(nandc); @@ -890,9 +898,14 @@ Signed-off-by: Miquel Raynal } instr = q_op.data_instr; -@@ -2912,9 +2863,9 @@ static int qcom_param_page_type_exec(str + op_id = q_op.data_instr_idx; + len = nand_subop_get_data_len(subop, op_id); - nandc_set_read_loc(chip, 0, 0, 0, len, 1); +- if (nandc->props->qpic_v2) ++ if (nandc->props->qpic_version2) + nandc_set_read_loc_last(chip, reg_base, 0, len, 1); + else + nandc_set_read_loc_first(chip, reg_base, 0, len, 1); - if (!nandc->props->qpic_v2) { - write_reg_dma(nandc, NAND_DEV_CMD_VLD, 1, 0); @@ -903,7 +916,7 @@ Signed-off-by: Miquel Raynal } nandc->buf_count = 512; -@@ -2926,9 +2877,10 @@ static int qcom_param_page_type_exec(str +@@ -2934,9 +2885,10 @@ static int qcom_param_page_type_exec(str nandc->buf_count, 0); /* restore CMD1 and VLD regs */ @@ -917,7 +930,7 @@ Signed-off-by: Miquel Raynal } ret = submit_descs(nandc); -@@ -3017,7 +2969,7 @@ static const struct nand_controller_ops +@@ -3025,7 +2977,7 @@ static const struct nand_controller_ops static void qcom_nandc_unalloc(struct qcom_nand_controller *nandc) { @@ -926,7 +939,7 @@ Signed-off-by: Miquel Raynal if (!dma_mapping_error(nandc->dev, nandc->reg_read_dma)) dma_unmap_single(nandc->dev, nandc->reg_read_dma, MAX_REG_RD * -@@ -3070,7 +3022,7 @@ static int qcom_nandc_alloc(struct qcom_ +@@ -3078,7 +3030,7 @@ static int qcom_nandc_alloc(struct qcom_ if (!nandc->reg_read_buf) return -ENOMEM; @@ -935,7 +948,7 @@ Signed-off-by: Miquel Raynal nandc->reg_read_dma = dma_map_single(nandc->dev, nandc->reg_read_buf, MAX_REG_RD * -@@ -3151,15 +3103,15 @@ static int qcom_nandc_setup(struct qcom_ +@@ -3159,15 +3111,15 @@ static int qcom_nandc_setup(struct qcom_ u32 nand_ctrl; /* kill onenand */ @@ -954,7 +967,7 @@ Signed-off-by: Miquel Raynal nand_ctrl = nandc_read(nandc, NAND_CTRL); /* -@@ -3176,7 +3128,7 @@ static int qcom_nandc_setup(struct qcom_ +@@ -3184,7 +3136,7 @@ static int qcom_nandc_setup(struct qcom_ } /* save the original values of these registers */ @@ -963,7 +976,7 @@ Signed-off-by: Miquel Raynal nandc->cmd1 = nandc_read(nandc, dev_cmd_reg_addr(nandc, NAND_DEV_CMD1)); nandc->vld = NAND_DEV_CMD_VLD_VAL; } -@@ -3349,7 +3301,7 @@ static int qcom_nandc_parse_dt(struct pl +@@ -3357,7 +3309,7 @@ static int qcom_nandc_parse_dt(struct pl struct device_node *np = nandc->dev->of_node; int ret; @@ -972,7 +985,7 @@ Signed-off-by: Miquel Raynal ret = of_property_read_u32(np, "qcom,cmd-crci", &nandc->cmd_crci); if (ret) { -@@ -3474,30 +3426,30 @@ static void qcom_nandc_remove(struct pla +@@ -3482,30 +3434,30 @@ static void qcom_nandc_remove(struct pla static const struct qcom_nandc_props ipq806x_nandc_props = { .ecc_modes = (ECC_RS_4BIT | ECC_BCH_8BIT), diff --git a/target/linux/generic/backport-6.12/410-02-v6.14-mtd-rawnand-qcom-Add-qcom-prefix-to-common-api.patch b/target/linux/generic/backport-6.12/410-02-v6.14-mtd-rawnand-qcom-Add-qcom-prefix-to-common-api.patch index f634e0442a..23ef86f807 100644 --- a/target/linux/generic/backport-6.12/410-02-v6.14-mtd-rawnand-qcom-Add-qcom-prefix-to-common-api.patch +++ b/target/linux/generic/backport-6.12/410-02-v6.14-mtd-rawnand-qcom-Add-qcom-prefix-to-common-api.patch @@ -823,7 +823,7 @@ Signed-off-by: Miquel Raynal if (ret) { dev_err(nandc->dev, "failure in submitting misc descriptor\n"); goto err_out; -@@ -2820,8 +2820,8 @@ static int qcom_param_page_type_exec(str +@@ -2825,8 +2825,8 @@ static int qcom_param_page_type_exec(str nandc->buf_count = 0; nandc->buf_start = 0; host->use_ecc = false; @@ -834,8 +834,8 @@ Signed-off-by: Miquel Raynal nandc->regs->cmd = q_op.cmd_reg; nandc->regs->addr0 = 0; -@@ -2864,8 +2864,8 @@ static int qcom_param_page_type_exec(str - nandc_set_read_loc(chip, 0, 0, 0, len, 1); +@@ -2872,8 +2872,8 @@ static int qcom_param_page_type_exec(str + nandc_set_read_loc_first(chip, reg_base, 0, len, 1); if (!nandc->props->qpic_version2) { - write_reg_dma(nandc, &nandc->regs->vld, NAND_DEV_CMD_VLD, 1, 0); @@ -845,7 +845,7 @@ Signed-off-by: Miquel Raynal } nandc->buf_count = 512; -@@ -2873,17 +2873,17 @@ static int qcom_param_page_type_exec(str +@@ -2881,17 +2881,17 @@ static int qcom_param_page_type_exec(str config_nand_single_cw_page_read(chip, false, 0); @@ -869,7 +869,7 @@ Signed-off-by: Miquel Raynal if (ret) { dev_err(nandc->dev, "failure in submitting param page descriptor\n"); goto err_out; -@@ -3067,7 +3067,7 @@ static int qcom_nandc_alloc(struct qcom_ +@@ -3075,7 +3075,7 @@ static int qcom_nandc_alloc(struct qcom_ * maximum codeword size */ nandc->max_cwperpage = 1; diff --git a/target/linux/generic/backport-6.12/410-03-v6.14-mtd-nand-Add-qpic_common-API-file.patch b/target/linux/generic/backport-6.12/410-03-v6.14-mtd-nand-Add-qpic_common-API-file.patch index 26211461c1..9272f98862 100644 --- a/target/linux/generic/backport-6.12/410-03-v6.14-mtd-nand-Add-qpic_common-API-file.patch +++ b/target/linux/generic/backport-6.12/410-03-v6.14-mtd-nand-Add-qpic_common-API-file.patch @@ -1786,7 +1786,7 @@ Signed-off-by: Miquel Raynal /* * when using BCH ECC, the HW flags an error in NAND_FLASH_STATUS if it read * an erased CW, and reports an erased CW in NAND_ERASED_CW_DETECT_STATUS. -@@ -2967,141 +2022,14 @@ static const struct nand_controller_ops +@@ -2975,141 +2030,14 @@ static const struct nand_controller_ops .exec_op = qcom_nand_exec_op, }; @@ -1931,7 +1931,7 @@ Signed-off-by: Miquel Raynal /* kill onenand */ if (!nandc->props->nandc_part_of_qpic) nandc_write(nandc, SFLASHC_BURST_CFG, 0); -@@ -3240,7 +2168,7 @@ static int qcom_nand_host_init_and_regis +@@ -3248,7 +2176,7 @@ static int qcom_nand_host_init_and_regis chip->legacy.block_bad = qcom_nandc_block_bad; chip->legacy.block_markbad = qcom_nandc_block_markbad; @@ -1940,7 +1940,7 @@ Signed-off-by: Miquel Raynal chip->options |= NAND_NO_SUBPAGE_WRITE | NAND_USES_DMA | NAND_SKIP_BBTSCAN; -@@ -3323,17 +2251,21 @@ static int qcom_nandc_parse_dt(struct pl +@@ -3331,17 +2259,21 @@ static int qcom_nandc_parse_dt(struct pl static int qcom_nandc_probe(struct platform_device *pdev) { struct qcom_nand_controller *nandc; diff --git a/target/linux/generic/backport-6.12/410-04-v6.14-mtd-rawnand-qcom-use-FIELD_PREP-and-GENMASK.patch b/target/linux/generic/backport-6.12/410-04-v6.14-mtd-rawnand-qcom-use-FIELD_PREP-and-GENMASK.patch index b37507409a..c19f681e9d 100644 --- a/target/linux/generic/backport-6.12/410-04-v6.14-mtd-rawnand-qcom-use-FIELD_PREP-and-GENMASK.patch +++ b/target/linux/generic/backport-6.12/410-04-v6.14-mtd-rawnand-qcom-use-FIELD_PREP-and-GENMASK.patch @@ -104,7 +104,7 @@ Signed-off-by: Miquel Raynal if (!nandc->props->qpic_version2) host->ecc_buf_cfg = 0x203 << NUM_STEPS; -@@ -1882,21 +1881,21 @@ static int qcom_param_page_type_exec(str +@@ -1887,21 +1886,21 @@ static int qcom_param_page_type_exec(str nandc->regs->addr0 = 0; nandc->regs->addr1 = 0; diff --git a/target/linux/generic/backport-6.12/410-05-v6.14-mtd-rawnand-qcom-fix-broken-config-in-qcom_param_pag.patch b/target/linux/generic/backport-6.12/410-05-v6.14-mtd-rawnand-qcom-fix-broken-config-in-qcom_param_pag.patch index a6a4db229f..238a1f9d93 100644 --- a/target/linux/generic/backport-6.12/410-05-v6.14-mtd-rawnand-qcom-fix-broken-config-in-qcom_param_pag.patch +++ b/target/linux/generic/backport-6.12/410-05-v6.14-mtd-rawnand-qcom-fix-broken-config-in-qcom_param_pag.patch @@ -32,7 +32,7 @@ Signed-off-by: Christian Marangi --- a/drivers/mtd/nand/raw/qcom_nandc.c +++ b/drivers/mtd/nand/raw/qcom_nandc.c -@@ -1881,18 +1881,18 @@ static int qcom_param_page_type_exec(str +@@ -1886,18 +1886,18 @@ static int qcom_param_page_type_exec(str nandc->regs->addr0 = 0; nandc->regs->addr1 = 0; diff --git a/target/linux/generic/hack-6.12/259-regmap_dynamic.patch b/target/linux/generic/hack-6.12/259-regmap_dynamic.patch index e7614d6822..cbd6c42234 100644 --- a/target/linux/generic/hack-6.12/259-regmap_dynamic.patch +++ b/target/linux/generic/hack-6.12/259-regmap_dynamic.patch @@ -137,7 +137,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -3519,3 +3520,5 @@ static int __init regmap_initcall(void) +@@ -3521,3 +3522,5 @@ static int __init regmap_initcall(void) return 0; } postcore_initcall(regmap_initcall); diff --git a/target/linux/generic/kernel-6.12 b/target/linux/generic/kernel-6.12 index 9880cae37e..11f05faf1c 100644 --- a/target/linux/generic/kernel-6.12 +++ b/target/linux/generic/kernel-6.12 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.12 = .40 -LINUX_KERNEL_HASH-6.12.40 = 4811af1317f98d2cccea3c7695969a2c03a27cb02fd2d5327032dd5341842933 +LINUX_VERSION-6.12 = .41 +LINUX_KERNEL_HASH-6.12.41 = 6b19a3ae99423de2416964d67251d745910277af258b4c4c63e88fd87dbf0e27