kernel: refresh upstreamed patches
authorHauke Mehrtens <hauke@hauke-m.de>
Thu, 1 Jan 2026 01:08:19 +0000 (02:08 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 4 Jan 2026 15:41:28 +0000 (16:41 +0100)
Replace pending patches which are already integrated in upstream Linux
with their upstream versions.

These patches were exported with:
git format-patch -1 -k

Link: https://github.com/openwrt/openwrt/pull/21366
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
13 files changed:
target/linux/bmips/patches-6.12/700-leds-add-support-for-Sercomm-MSP430-LED-controller.patch
target/linux/generic/pending-6.12/403-mtd-spinand-add-support-for-FudanMicro-FM25S01BI3.patch
target/linux/generic/pending-6.12/405-01-mtd-spinand-fix-direct-mapping-creation-sizes.patch
target/linux/generic/pending-6.12/405-02-mtd-spinand-try-a-regular-dirmap-if-creating-a-di.patch
target/linux/generic/pending-6.12/405-03-mtd-spinand-repeat-reading-in-regular-mode-if-con.patch
target/linux/generic/pending-6.12/416-09-next-spi-spi-qpic-snand-validate-user-chip-specific-ECC-properties.patch
target/linux/generic/pending-6.12/416-10-next-1-2-mtd-nand-qpic-common-add-defines-for-ECC_MODE-values.patch
target/linux/generic/pending-6.12/416-11-next-2-2-spi-spi-qpic-snand-add-support-for-8-bits-ECC-strength.patch
target/linux/generic/pending-6.12/891-dt-bindings-leds-Add-LED1202-LED-Controller.patch
target/linux/generic/pending-6.12/892-leds-Add-LED1202-I2C-driver.patch
target/linux/generic/pending-6.12/893-leds_st1202-Fix-NULL-pointer-access-error.patch
target/linux/mediatek/patches-6.12/950-smartrg-i2c-led-driver.patch
target/linux/realtek/patches-6.12/804-leds-Add-support-for-RTL8231-LED-scan-matrix.patch

index 8e92e39675c2b964bf149d25b7b5e976b4195414..cb367832ada8e48734aa36ac06e51169cf571c70 100644 (file)
@@ -40,6 +40,6 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
  obj-$(CONFIG_LEDS_REGULATOR)          += leds-regulator.o
  obj-$(CONFIG_LEDS_SC27XX_BLTC)                += leds-sc27xx-bltc.o
 +obj-$(CONFIG_LEDS_SERCOMM_MSP430)     += leds-sercomm-msp430.o
- obj-$(CONFIG_LEDS_SUN50I_A100)                += leds-sun50i-a100.o
  obj-$(CONFIG_LEDS_ST1202)             += leds-st1202.o
+ obj-$(CONFIG_LEDS_SUN50I_A100)                += leds-sun50i-a100.o
  obj-$(CONFIG_LEDS_SUNFIRE)            += leds-sunfire.o
index f35344233f534c87fc01fd5bd8499d0d5222415d..7355efe36bb9ffafbbe5b2839b0f9309099bd554 100644 (file)
@@ -1,16 +1,14 @@
-To: Miquel Raynal <miquel.raynal@bootlin.com>,
- Richard Weinberger <richard@nod.at>, Vignesh Raghavendra <vigneshr@ti.com>,
- Tudor Ambarus <tudor.ambarus@linaro.org>, Mark Brown <broonie@kernel.org>
-Cc: linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org
+From f6dffe2a9ed1bdcee1879e2728310fb1e08602cf Mon Sep 17 00:00:00 2001
 From: Mikhail Zhilkin <csharper2005@gmail.com>
-Subject: [PATCH] mtd: spinand: add support for FudanMicro FM25S01BI3
+Date: Thu, 27 Nov 2025 22:59:00 +0300
+Subject: mtd: spinand: add support for FudanMicro FM25S01BI3
 
 Add support for FudanMicro FM25S01BI3 SPI NAND.
 
 Link: https://www.fmsh.com/nvm/FM25S01BI3_ds_eng.pdf
 
 Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
-Link: https://lore.kernel.org/linux-mtd/130e0f3f-93e4-47cf-82f0-93ba58a3a670@gmail.com
+Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
 ---
  drivers/mtd/nand/spi/fmsh.c | 72 +++++++++++++++++++++++++++++++++++++
  1 file changed, 72 insertions(+)
index 3cb78448003fa6091de1cb36b449de8730d2686b..994e06e4fef840760e00884161112858606ee0c6 100644 (file)
@@ -1,12 +1,13 @@
-From 5eea4228aaa3c5aeba843d8ea2a60993c268419d Mon Sep 17 00:00:00 2001
+From e4a0cf9f1d90e6888e5373da3314f761024f6c97 Mon Sep 17 00:00:00 2001
 From: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
-Date: Sun, 3 Aug 2025 17:23:27 +0300
-Subject: [PATCH RESEND v5 1/3] mtd: spinand: fix direct mapping creation sizes
+Date: Thu, 18 Sep 2025 00:53:59 +0300
+Subject: mtd: spinand: fix direct mapping creation sizes
 
 Continuous mode is only supported for data reads, thus writing
 requires only single flash page mapping.
 
 Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
+Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
 ---
  drivers/mtd/nand/spi/core.c | 14 +++++++-------
  1 file changed, 7 insertions(+), 7 deletions(-)
index 5c54a9116c407b6fd6f261ca9df2ed550b29f931..005c0aa9a16066e2759d79b7fc231c17cf52bf2c 100644 (file)
@@ -1,8 +1,8 @@
-From 9d13b7857de8834c6246fa5bc83f767675360240 Mon Sep 17 00:00:00 2001
+From 004f8ea0d9917398aabff7388b3bf62a84a4088b Mon Sep 17 00:00:00 2001
 From: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
-Date: Sun, 3 Aug 2025 19:06:40 +0300
-Subject: [PATCH RESEND v5 2/3] mtd: spinand: try a regular dirmap if creating
a dirmap for continuous reading fails
+Date: Thu, 18 Sep 2025 00:54:00 +0300
+Subject: mtd: spinand: try a regular dirmap if creating a dirmap for
+ continuous reading fails
 
 Continuous reading may result in multiple flash pages reading in one
 operation. Typically only one flash page has read/written (a little bit
@@ -22,6 +22,7 @@ This patch tries to create dirmap for continuous reading first and
 fallback to regular reading if spi controller refuses to create it.
 
 Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
+Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
 ---
  drivers/mtd/nand/spi/core.c | 43 ++++++++++++++++++++++++++++++-------
  1 file changed, 35 insertions(+), 8 deletions(-)
index ad13fbafc3dced5587e73fd419acf049d51eed7c..af53d2065eadb347658c8176598708418c8b42aa 100644 (file)
@@ -1,8 +1,8 @@
-From 6ffbbe473b98e3944d4cb9379bf725b374e587a9 Mon Sep 17 00:00:00 2001
+From 010dc7f2dd6a0078ade3f88f627ed5fbf45ceb94 Mon Sep 17 00:00:00 2001
 From: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
-Date: Sun, 3 Aug 2025 17:54:17 +0300
-Subject: [PATCH RESEND v5 3/3] mtd: spinand: repeat reading in regular mode if
continuous reading fails
+Date: Thu, 18 Sep 2025 00:54:01 +0300
+Subject: mtd: spinand: repeat reading in regular mode if continuous reading
+ fails
 
 Continuous reading may result in multiple flash pages reading in one
 operation. Unfortunately, not all spinand controllers support such
@@ -14,6 +14,7 @@ In this case:
  * repeat reading in regular mode.
 
 Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
+Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
 ---
  drivers/mtd/nand/spi/core.c | 25 +++++++++++++++++++++----
  1 file changed, 21 insertions(+), 4 deletions(-)
index c03a529963a3fd8f5d5b8858224b72e645b9c296..2f951564c1977280583ad0657c8e4f3312883b43 100644 (file)
@@ -1,7 +1,7 @@
+From 65cb56d49f6edea409600a3c61effc70ee5d43d8 Mon Sep 17 00:00:00 2001
 From: Gabor Juhos <j4g8y7@gmail.com>
-Date: Thu, 01 May 2025 18:19:16 +0200
-Subject: [PATCH next] spi: spi-qpic-snand: validate user/chip specific ECC
- properties
+Date: Thu, 1 May 2025 18:19:16 +0200
+Subject: spi: spi-qpic-snand: validate user/chip specific ECC properties
 
 The driver only supports 512 bytes ECC step size and 4 bit ECC strength
 at the moment, however it does not reject unsupported step/strength
@@ -81,20 +81,12 @@ strength gets implemented.
 
 Fixes: 7304d1909080 ("spi: spi-qpic: add driver for QCOM SPI NAND flash Interface")
 Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
+Link: https://patch.msgid.link/20250501-qpic-snand-validate-ecc-v1-1-532776581a66@gmail.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
 ---
-Marked for next because it depends on commit f48d80503504 ("spi: spi-qpic-snand:
-use kmalloc() for OOB buffer allocation").
----
- drivers/spi/spi-qpic-snand.c | 42 +++++++++++++++++++++++++++++++++++++-----
+ drivers/spi/spi-qpic-snand.c | 42 +++++++++++++++++++++++++++++++-----
  1 file changed, 37 insertions(+), 5 deletions(-)
 
-
----
-base-commit: a7f035c2c72496cf7ac34bfaa8c289e0d4c45836
-change-id: 20250501-qpic-snand-validate-ecc-383b3e33e238
-
-Best regards,
-
 --- a/drivers/spi/spi-qpic-snand.c
 +++ b/drivers/spi/spi-qpic-snand.c
 @@ -249,9 +249,11 @@ static const struct mtd_ooblayout_ops qc
index 8029e4992eb4cdf8b50acbb99917ab1550ce1976..c23241054988e110c5862f61bce686d6ac6af906 100644 (file)
@@ -1,7 +1,7 @@
+From 0dc7e656ddd54c3267b7cc18c1ac8ec1297ed02f Mon Sep 17 00:00:00 2001
 From: Gabor Juhos <j4g8y7@gmail.com>
-Date: Fri, 02 May 2025 21:31:16 +0200
-Subject: [PATCH next 1/2] mtd: nand: qpic-common: add defines for ECC_MODE
- values
+Date: Wed, 2 Jul 2025 14:35:23 +0200
+Subject: mtd: nand: qpic-common: add defines for ECC_MODE values
 
 Add defines for the values of the ECC_MODE field of the NAND_DEV0_ECC_CFG
 register and change both the 'qcom-nandc' and 'spi-qpic-snand' drivers to
@@ -10,7 +10,11 @@ use those instead of magic numbers.
 No functional changes. This is in preparation for adding 8 bit ECC strength
 support for the 'spi-qpic-snand' driver.
 
+Reviewed-by: Md Sadre Alam <quic_mdalam@quicinc.com>
 Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
+Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
+Link: https://patch.msgid.link/20250702-qpic-snand-8bit-ecc-v2-1-ae2c17a30bb7@gmail.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
 ---
  drivers/mtd/nand/raw/qcom_nandc.c    | 6 +++---
  drivers/spi/spi-qpic-snand.c         | 2 +-
index 5b1dee3eb198e8eb7a933bf3b93afcb632564862..acf5d603b6f2f96c883d31a5cbfe738b1b70bb3f 100644 (file)
@@ -1,7 +1,7 @@
+From 913bf8d50cbd144c87e9660b591781179182ff59 Mon Sep 17 00:00:00 2001
 From: Gabor Juhos <j4g8y7@gmail.com>
-Date: Fri, 02 May 2025 21:31:17 +0200
-Subject: [PATCH next 2/2] spi: spi-qpic-snand: add support for 8 bits ECC
- strength
+Date: Wed, 2 Jul 2025 14:35:24 +0200
+Subject: spi: spi-qpic-snand: add support for 8 bits ECC strength
 
 Even though the hardware supports 8 bits ECC strength, but that is not
 handled in the driver yet. This change adds the missing bits in order
@@ -13,330 +13,8 @@ strength support.
 Tested on an IPQ9574 platform using a GigaDevice GD5F2GM7REYIG chip.
 
 Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
----
-mtdtest results:
-
-  # dmesg | grep nand
-  [    0.678143] spi-nand spi0.0: GigaDevice SPI NAND was found.
-  [    0.687393] spi-nand spi0.0: 256 MiB, block size: 128 KiB, page size: 2048, OOB size: 128
-  # cat /proc/mtd
-  dev:    size   erasesize  name
-  mtd0: 10000000 00020000 "spi0.0"
-  # insmod mtd_test
-  # insmod mtd_speedtest dev=0
-  [   63.128425]
-  [   63.128452] =================================================
-  [   63.128979] mtd_speedtest: MTD device: 0
-  [   63.134622] mtd_speedtest: MTD device size 268435456, eraseblock size 131072, page size 2048, count of eraseblocks 2048, pages per eraseblock 64, OOB size 128
-  [   63.139561] mtd_test: scanning for bad eraseblocks
-  [   63.756447] mtd_test: scanned 2048 eraseblocks, 0 are bad
-  [   71.085514] mtd_speedtest: testing eraseblock write speed
-  [  202.745977] mtd_speedtest: eraseblock write speed is 1991 KiB/s
-  [  202.746022] mtd_speedtest: testing eraseblock read speed
-  [  284.104591] mtd_speedtest: eraseblock read speed is 3222 KiB/s
-  [  291.405533] mtd_speedtest: testing page write speed
-  [  422.516341] mtd_speedtest: page write speed is 1999 KiB/s
-  [  422.516384] mtd_speedtest: testing page read speed
-  [  504.144630] mtd_speedtest: page read speed is 3211 KiB/s
-  [  511.476726] mtd_speedtest: testing 2 page write speed
-  [  643.114443] mtd_speedtest: 2 page write speed is 1991 KiB/s
-  [  643.114485] mtd_speedtest: testing 2 page read speed
-  [  724.434752] mtd_speedtest: 2 page read speed is 3223 KiB/s
-  [  724.434796] mtd_speedtest: Testing erase speed
-  [  731.792729] mtd_speedtest: erase speed is 35648 KiB/s
-  [  731.792772] mtd_speedtest: Testing 2x multi-block erase speed
-  [  739.162513] mtd_speedtest: 2x multi-block erase speed is 35589 KiB/s
-  [  739.162558] mtd_speedtest: Testing 4x multi-block erase speed
-  [  746.486241] mtd_speedtest: 4x multi-block erase speed is 35820 KiB/s
-  [  746.486287] mtd_speedtest: Testing 8x multi-block erase speed
-  [  753.789683] mtd_speedtest: 8x multi-block erase speed is 35919 KiB/s
-  [  753.789728] mtd_speedtest: Testing 16x multi-block erase speed
-  [  761.093075] mtd_speedtest: 16x multi-block erase speed is 35920 KiB/s
-  [  761.093120] mtd_speedtest: Testing 32x multi-block erase speed
-  [  768.396145] mtd_speedtest: 32x multi-block erase speed is 35922 KiB/s
-  [  768.396222] mtd_speedtest: Testing 64x multi-block erase speed
-  [  775.699819] mtd_speedtest: 64x multi-block erase speed is 35918 KiB/s
-  [  775.699863] mtd_speedtest: finished
-  [  775.705259] =================================================
-  # insmod mtd_readtest dev=0
-  [  919.060671]
-  [  919.060699] =================================================
-  [  919.061226] mtd_readtest: MTD device: 0
-  [  919.066957] mtd_readtest: MTD device size 268435456, eraseblock size 131072, page size 2048, count of eraseblocks 2048, pages per eraseblock 64, OOB size 128
-  [  919.070556] mtd_test: scanning for bad eraseblocks
-  [  919.086016] mtd_test: scanned 2048 eraseblocks, 0 are bad
-  [  919.089465] mtd_readtest: testing page read
-  [ 1090.778227] mtd_readtest: finished
-  [ 1090.778286] =================================================
-  # insmod mtd_pagetest dev=0
-  [ 1216.297313]
-  [ 1216.297341] =================================================
-  [ 1216.297867] mtd_pagetest: MTD device: 0
-  [ 1216.303509] mtd_pagetest: MTD device size 268435456, eraseblock size 131072, page size 2048, count of eraseblocks 2048, pages per eraseblock 64, OOB size 128
-  [ 1216.307213] mtd_test: scanning for bad eraseblocks
-  [ 1216.322680] mtd_test: scanned 2048 eraseblocks, 0 are bad
-  [ 1216.326077] mtd_pagetest: erasing whole device
-  [ 1223.694968] mtd_pagetest: erased 2048 eraseblocks
-  [ 1223.695009] mtd_pagetest: writing whole device
-  [ 1223.763930] mtd_pagetest: written up to eraseblock 0
-  [ 1240.268942] mtd_pagetest: written up to eraseblock 256
-  [ 1256.641498] mtd_pagetest: written up to eraseblock 512
-  [ 1273.139048] mtd_pagetest: written up to eraseblock 768
-  [ 1289.718929] mtd_pagetest: written up to eraseblock 1024
-  [ 1306.244553] mtd_pagetest: written up to eraseblock 1280
-  [ 1322.939723] mtd_pagetest: written up to eraseblock 1536
-  [ 1339.246937] mtd_pagetest: written up to eraseblock 1792
-  [ 1355.613729] mtd_pagetest: written 2048 eraseblocks
-  [ 1355.613770] mtd_pagetest: verifying all eraseblocks
-  [ 1355.854290] mtd_pagetest: verified up to eraseblock 0
-  [ 1416.657733] mtd_pagetest: verified up to eraseblock 256
-  [ 1477.384593] mtd_pagetest: verified up to eraseblock 512
-  [ 1538.008142] mtd_pagetest: verified up to eraseblock 768
-  [ 1599.080797] mtd_pagetest: verified up to eraseblock 1024
-  [ 1660.775431] mtd_pagetest: verified up to eraseblock 1280
-  [ 1722.177149] mtd_pagetest: verified up to eraseblock 1536
-  [ 1783.090166] mtd_pagetest: verified up to eraseblock 1792
-  [ 1844.450757] mtd_pagetest: verified 2048 eraseblocks
-  [ 1844.450798] mtd_pagetest: crosstest
-  [ 1844.455676] mtd_pagetest: reading page at 0x0
-  [ 1844.458603] mtd_pagetest: reading page at 0xffff800
-  [ 1844.463047] mtd_pagetest: reading page at 0x0
-  [ 1844.467790] mtd_pagetest: verifying pages read at 0x0 match
-  [ 1844.471636] mtd_pagetest: crosstest ok
-  [ 1844.477062] mtd_pagetest: erasecrosstest
-  [ 1844.480833] mtd_pagetest: erasing block 0
-  [ 1844.488498] mtd_pagetest: writing 1st page of block 0
-  [ 1844.489821] mtd_pagetest: reading 1st page of block 0
-  [ 1844.494475] mtd_pagetest: verifying 1st page of block 0
-  [ 1844.498942] mtd_pagetest: erasing block 0
-  [ 1844.507505] mtd_pagetest: writing 1st page of block 0
-  [ 1844.509042] mtd_pagetest: erasing block 2047
-  [ 1844.516725] mtd_pagetest: reading 1st page of block 0
-  [ 1844.518087] mtd_pagetest: verifying 1st page of block 0
-  [ 1844.522415] mtd_pagetest: erasecrosstest ok
-  [ 1844.527495] mtd_pagetest: erasetest
-  [ 1844.531613] mtd_pagetest: erasing block 0
-  [ 1844.538671] mtd_pagetest: writing 1st page of block 0
-  [ 1844.540249] mtd_pagetest: erasing block 0
-  [ 1844.547869] mtd_pagetest: reading 1st page of block 0
-  [ 1844.548927] mtd_pagetest: verifying 1st page of block 0 is all 0xff
-  [ 1844.553326] mtd_pagetest: erasetest ok
-  [ 1844.559440] mtd_pagetest: finished with 0 errors
-  [ 1844.563233] =================================================
-  # insmod mtd_subpagetest dev=0
-  [ 1942.429708]
-  [ 1942.429736] =================================================
-  [ 1942.430262] mtd_subpagetest: MTD device: 0
-  [ 1942.435905] mtd_subpagetest: MTD device size 268435456, eraseblock size 131072, page size 2048, subpage size 2048, count of eraseblocks 2048, pages per eraseblock 64, OOB size 128
-  [ 1942.439994] mtd_test: scanning for bad eraseblocks
-  [ 1942.457111] mtd_test: scanned 2048 eraseblocks, 0 are bad
-  [ 1949.824564] mtd_subpagetest: writing whole device
-  [ 1949.826670] mtd_subpagetest: written up to eraseblock 0
-  [ 1950.351816] mtd_subpagetest: written up to eraseblock 256
-  [ 1950.875797] mtd_subpagetest: written up to eraseblock 512
-  [ 1951.399912] mtd_subpagetest: written up to eraseblock 768
-  [ 1951.923618] mtd_subpagetest: written up to eraseblock 1024
-  [ 1952.447361] mtd_subpagetest: written up to eraseblock 1280
-  [ 1952.970834] mtd_subpagetest: written up to eraseblock 1536
-  [ 1953.494635] mtd_subpagetest: written up to eraseblock 1792
-  [ 1954.016265] mtd_subpagetest: written 2048 eraseblocks
-  [ 1954.016294] mtd_subpagetest: verifying all eraseblocks
-  [ 1954.021617] mtd_subpagetest: verified up to eraseblock 0
-  [ 1954.347458] mtd_subpagetest: verified up to eraseblock 256
-  [ 1954.667446] mtd_subpagetest: verified up to eraseblock 512
-  [ 1954.987343] mtd_subpagetest: verified up to eraseblock 768
-  [ 1955.307385] mtd_subpagetest: verified up to eraseblock 1024
-  [ 1955.627462] mtd_subpagetest: verified up to eraseblock 1280
-  [ 1955.947277] mtd_subpagetest: verified up to eraseblock 1536
-  [ 1956.266834] mtd_subpagetest: verified up to eraseblock 1792
-  [ 1956.585581] mtd_subpagetest: verified 2048 eraseblocks
-  [ 1963.889308] mtd_subpagetest: verifying all eraseblocks for 0xff
-  [ 1963.930487] mtd_subpagetest: verified up to eraseblock 0
-  [ 1974.592567] mtd_subpagetest: verified up to eraseblock 256
-  [ 1985.180953] mtd_subpagetest: verified up to eraseblock 512
-  [ 1995.805397] mtd_subpagetest: verified up to eraseblock 768
-  [ 2006.348859] mtd_subpagetest: verified up to eraseblock 1024
-  [ 2016.900530] mtd_subpagetest: verified up to eraseblock 1280
-  [ 2027.447587] mtd_subpagetest: verified up to eraseblock 1536
-  [ 2037.962383] mtd_subpagetest: verified up to eraseblock 1792
-  [ 2048.587863] mtd_subpagetest: verified 2048 eraseblocks
-  [ 2048.587906] mtd_subpagetest: writing whole device
-  [ 2048.648174] mtd_subpagetest: written up to eraseblock 0
-  [ 2062.643145] mtd_subpagetest: written up to eraseblock 256
-  [ 2076.699015] mtd_subpagetest: written up to eraseblock 512
-  [ 2091.004910] mtd_subpagetest: written up to eraseblock 768
-  [ 2105.149879] mtd_subpagetest: written up to eraseblock 1024
-  [ 2119.470691] mtd_subpagetest: written up to eraseblock 1280
-  [ 2133.746861] mtd_subpagetest: written up to eraseblock 1536
-  [ 2147.776477] mtd_subpagetest: written up to eraseblock 1792
-  [ 2161.947734] mtd_subpagetest: written 2048 eraseblocks
-  [ 2161.947776] mtd_subpagetest: verifying all eraseblocks
-  [ 2161.986109] mtd_subpagetest: verified up to eraseblock 0
-  [ 2170.818316] mtd_subpagetest: verified up to eraseblock 256
-  [ 2179.596875] mtd_subpagetest: verified up to eraseblock 512
-  [ 2188.405116] mtd_subpagetest: verified up to eraseblock 768
-  [ 2197.188588] mtd_subpagetest: verified up to eraseblock 1024
-  [ 2206.002204] mtd_subpagetest: verified up to eraseblock 1280
-  [ 2214.784815] mtd_subpagetest: verified up to eraseblock 1536
-  [ 2223.557141] mtd_subpagetest: verified up to eraseblock 1792
-  [ 2232.472832] mtd_subpagetest: verified 2048 eraseblocks
-  [ 2239.818213] mtd_subpagetest: verifying all eraseblocks for 0xff
-  [ 2239.861404] mtd_subpagetest: verified up to eraseblock 0
-  [ 2250.439035] mtd_subpagetest: verified up to eraseblock 256
-  [ 2261.176485] mtd_subpagetest: verified up to eraseblock 512
-  [ 2271.713183] mtd_subpagetest: verified up to eraseblock 768
-  [ 2282.356892] mtd_subpagetest: verified up to eraseblock 1024
-  [ 2292.891424] mtd_subpagetest: verified up to eraseblock 1280
-  [ 2303.543110] mtd_subpagetest: verified up to eraseblock 1536
-  [ 2314.116690] mtd_subpagetest: verified up to eraseblock 1792
-  [ 2324.607804] mtd_subpagetest: verified 2048 eraseblocks
-  [ 2324.607846] mtd_subpagetest: finished with 0 errors
-  [ 2324.611859] =================================================
-  # insmod mtd_oobtest dev=0
-  [ 2336.159109]
-  [ 2336.159138] =================================================
-  [ 2336.159664] mtd_oobtest: MTD device: 0
-  [ 2336.165308] mtd_oobtest: MTD device size 268435456, eraseblock size 131072, page size 2048, count of eraseblocks 2048, pages per eraseblock 64, OOB size 128
-  [ 2336.169043] mtd_test: scanning for bad eraseblocks
-  [ 2336.184354] mtd_test: scanned 2048 eraseblocks, 0 are bad
-  [ 2336.187716] mtd_oobtest: test 1 of 5
-  [ 2343.495966] mtd_oobtest: writing OOBs of whole device
-  [ 2343.496073] mtd_oobtest: written up to eraseblock 0
-  [ 2343.516803] mtd_oobtest: written up to eraseblock 256
-  [ 2343.533527] mtd_oobtest: written up to eraseblock 512
-  [ 2343.549945] mtd_oobtest: written up to eraseblock 768
-  [ 2343.563666] mtd_oobtest: written up to eraseblock 1024
-  [ 2343.575186] mtd_oobtest: written up to eraseblock 1280
-  [ 2343.584310] mtd_oobtest: written up to eraseblock 1536
-  [ 2343.593011] mtd_oobtest: written up to eraseblock 1792
-  [ 2343.600847] mtd_oobtest: written 2048 eraseblocks
-  [ 2343.600861] mtd_oobtest: verifying all eraseblocks
-  [ 2343.604542] mtd_oobtest: verified up to eraseblock 0
-  [ 2343.616606] mtd_oobtest: verified up to eraseblock 256
-  [ 2343.623992] mtd_oobtest: verified up to eraseblock 512
-  [ 2343.631390] mtd_oobtest: verified up to eraseblock 768
-  [ 2343.638788] mtd_oobtest: verified up to eraseblock 1024
-  [ 2343.646184] mtd_oobtest: verified up to eraseblock 1280
-  [ 2343.653570] mtd_oobtest: verified up to eraseblock 1536
-  [ 2343.660970] mtd_oobtest: verified up to eraseblock 1792
-  [ 2343.668356] mtd_oobtest: verified 2048 eraseblocks
-  [ 2343.668369] mtd_oobtest: test 2 of 5
-  [ 2350.985635] mtd_oobtest: writing OOBs of whole device
-  [ 2350.985743] mtd_oobtest: written up to eraseblock 0
-  [ 2351.006445] mtd_oobtest: written up to eraseblock 256
-  [ 2351.023170] mtd_oobtest: written up to eraseblock 512
-  [ 2351.039645] mtd_oobtest: written up to eraseblock 768
-  [ 2351.053395] mtd_oobtest: written up to eraseblock 1024
-  [ 2351.064954] mtd_oobtest: written up to eraseblock 1280
-  [ 2351.074144] mtd_oobtest: written up to eraseblock 1536
-  [ 2351.082848] mtd_oobtest: written up to eraseblock 1792
-  [ 2351.090707] mtd_oobtest: written 2048 eraseblocks
-  [ 2351.090721] mtd_oobtest: verifying all eraseblocks
-  [ 2351.094373] mtd_oobtest: verified up to eraseblock 0
-  [ 2351.099353] mtd_oobtest: verified up to eraseblock 256
-  [ 2351.104460] mtd_oobtest: verified up to eraseblock 512
-  [ 2351.109437] mtd_oobtest: verified up to eraseblock 768
-  [ 2351.114528] mtd_oobtest: verified up to eraseblock 1024
-  [ 2351.119683] mtd_oobtest: verified up to eraseblock 1280
-  [ 2351.124772] mtd_oobtest: verified up to eraseblock 1536
-  [ 2351.129996] mtd_oobtest: verified up to eraseblock 1792
-  [ 2351.135187] mtd_oobtest: verified 2048 eraseblocks
-  [ 2351.140130] mtd_oobtest: test 3 of 5
-  [ 2358.448438] mtd_oobtest: writing OOBs of whole device
-  [ 2358.448546] mtd_oobtest: written up to eraseblock 0
-  [ 2358.469297] mtd_oobtest: written up to eraseblock 256
-  [ 2358.486095] mtd_oobtest: written up to eraseblock 512
-  [ 2358.501993] mtd_oobtest: written up to eraseblock 768
-  [ 2358.515473] mtd_oobtest: written up to eraseblock 1024
-  [ 2358.526708] mtd_oobtest: written up to eraseblock 1280
-  [ 2358.535426] mtd_oobtest: written up to eraseblock 1536
-  [ 2358.544152] mtd_oobtest: written up to eraseblock 1792
-  [ 2358.551732] mtd_oobtest: written 2048 eraseblocks
-  [ 2358.551744] mtd_oobtest: verifying all eraseblocks
-  [ 2358.555424] mtd_oobtest: verified up to eraseblock 0
-  [ 2358.567572] mtd_oobtest: verified up to eraseblock 256
-  [ 2358.575045] mtd_oobtest: verified up to eraseblock 512
-  [ 2358.582537] mtd_oobtest: verified up to eraseblock 768
-  [ 2358.590024] mtd_oobtest: verified up to eraseblock 1024
-  [ 2358.597511] mtd_oobtest: verified up to eraseblock 1280
-  [ 2358.604984] mtd_oobtest: verified up to eraseblock 1536
-  [ 2358.612468] mtd_oobtest: verified up to eraseblock 1792
-  [ 2358.619923] mtd_oobtest: verified 2048 eraseblocks
-  [ 2358.619936] mtd_oobtest: test 4 of 5
-  [ 2365.924669] mtd_oobtest: attempting to start write past end of OOB
-  [ 2365.924711] mtd_oobtest: an error is expected...
-  [ 2365.929795] mtd_oobtest: error occurred as expected
-  [ 2365.934520] mtd_oobtest: attempting to start read past end of OOB
-  [ 2365.939150] mtd_oobtest: an error is expected...
-  [ 2365.945371] mtd_oobtest: error occurred as expected
-  [ 2365.950087] mtd_oobtest: attempting to write past end of device
-  [ 2365.954660] mtd_oobtest: an error is expected...
-  [ 2365.960623] mtd_oobtest: error occurred as expected
-  [ 2365.965422] mtd_oobtest: attempting to read past end of device
-  [ 2365.970064] mtd_oobtest: an error is expected...
-  [ 2365.975925] mtd_oobtest: error occurred as expected
-  [ 2365.984256] mtd_oobtest: attempting to write past end of device
-  [ 2365.985300] mtd_oobtest: an error is expected...
-  [ 2365.991242] mtd_oobtest: error: wrote past end of device
-  [ 2365.996064] mtd_oobtest: attempting to read past end of device
-  [ 2366.001389] mtd_oobtest: an error is expected...
-  [ 2366.007028] mtd_oobtest: error: read past end of device
-  [ 2366.011776] mtd_oobtest: test 5 of 5
-  [ 2373.317991] mtd_oobtest: writing OOBs of whole device
-  [ 2373.318034] mtd_oobtest: written up to eraseblock 0
-  [ 2373.322028] mtd_oobtest: written up to eraseblock 0
-  [ 2373.327465] mtd_oobtest: written up to eraseblock 256
-  [ 2373.331576] mtd_oobtest: written up to eraseblock 256
-  [ 2373.337501] mtd_oobtest: written up to eraseblock 512
-  [ 2373.341820] mtd_oobtest: written up to eraseblock 512
-  [ 2373.347566] mtd_oobtest: written up to eraseblock 768
-  [ 2373.351888] mtd_oobtest: written up to eraseblock 768
-  [ 2373.357634] mtd_oobtest: written up to eraseblock 1024
-  [ 2373.361957] mtd_oobtest: written up to eraseblock 1024
-  [ 2373.367710] mtd_oobtest: written up to eraseblock 1280
-  [ 2373.372113] mtd_oobtest: written up to eraseblock 1280
-  [ 2373.377841] mtd_oobtest: written up to eraseblock 1536
-  [ 2373.382355] mtd_oobtest: written up to eraseblock 1536
-  [ 2373.387962] mtd_oobtest: written up to eraseblock 1792
-  [ 2373.392597] mtd_oobtest: written up to eraseblock 1792
-  [ 2373.398190] mtd_oobtest: written 2047 eraseblocks
-  [ 2373.402838] mtd_oobtest: verifying all eraseblocks
-  [ 2373.407629] mtd_oobtest: verified up to eraseblock 0
-  [ 2373.412483] mtd_oobtest: verified up to eraseblock 256
-  [ 2373.417625] mtd_oobtest: verified up to eraseblock 512
-  [ 2373.422518] mtd_oobtest: verified up to eraseblock 768
-  [ 2373.427650] mtd_oobtest: verified up to eraseblock 1024
-  [ 2373.432760] mtd_oobtest: verified up to eraseblock 1280
-  [ 2373.437912] mtd_oobtest: verified up to eraseblock 1536
-  [ 2373.443091] mtd_oobtest: verified up to eraseblock 1792
-  [ 2373.448337] mtd_oobtest: verified 2047 eraseblocks
-  [ 2373.453358] mtd_oobtest: finished with 2 errors
-  [ 2373.458250] =================================================
-
-Note: the two errors are present even even without this patch when testing
-the driver with a flash chip requiring 4 bits ECC strength.
-
-  # insmod mtd_stresstest dev=0
-  [ 2383.256453]
-  [ 2383.256482] =================================================
-  [ 2383.257008] mtd_stresstest: MTD device: 0
-  [ 2383.262650] mtd_stresstest: MTD device size 268435456, eraseblock size 131072, page size 2048, count of eraseblocks 2048, pages per eraseblock 64, OOB size 128
-  [ 2383.268254] mtd_test: scanning for bad eraseblocks
-  [ 2383.281992] mtd_test: scanned 2048 eraseblocks, 0 are bad
-  [ 2383.285565] mtd_stresstest: doing operations
-  [ 2383.291047] mtd_stresstest: 0 operations done
-  [ 2427.841267] mtd_stresstest: 1024 operations done
-  [ 2471.142229] mtd_stresstest: 2048 operations done
-  [ 2514.405277] mtd_stresstest: 3072 operations done
-  [ 2555.451926] mtd_stresstest: 4096 operations done
-  [ 2598.107133] mtd_stresstest: 5120 operations done
-  [ 2639.936952] mtd_stresstest: 6144 operations done
-  [ 2680.724751] mtd_stresstest: 7168 operations done
-  [ 2720.344163] mtd_stresstest: 8192 operations done
-  [ 2761.645640] mtd_stresstest: 9216 operations done
-  [ 2791.760534] mtd_stresstest: finished, 10000 operations done
-  [ 2791.760817] =================================================
-  #
+Link: https://patch.msgid.link/20250702-qpic-snand-8bit-ecc-v2-2-ae2c17a30bb7@gmail.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
 ---
  drivers/spi/spi-qpic-snand.c | 21 ++++++++++++++++-----
  1 file changed, 16 insertions(+), 5 deletions(-)
index 164256081af6aa8926670a23e0296cf9237bf25a..9901d13241b75024c3f26c17715f22e95c2e0df9 100644 (file)
@@ -1,17 +1,7 @@
+From 599b92fd0efa8b7c43e7f58c9dd0f7951f7cbf09 Mon Sep 17 00:00:00 2001
 From: Vicentiu Galanopulo <vicentiu.galanopulo@remote-tech.co.uk>
-To: Pavel Machek <pavel@ucw.cz>, Lee Jones <lee@kernel.org>,
-       Rob Herring <robh@kernel.org>,
-       Krzysztof Kozlowski <krzk+dt@kernel.org>,
-       Conor Dooley <conor+dt@kernel.org>,
-       Jonathan Corbet <corbet@lwn.net>,
-       Vicentiu Galanopulo <vicentiu.galanopulo@remote-tech.co.uk>,
-       linux-leds@vger.kernel.org, devicetree@vger.kernel.org,
-       linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org
-Cc: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
-Subject: [PATCH v11 2/3] dt-bindings: leds: Add LED1202 LED Controller
-Date: Wed, 18 Dec 2024 18:33:58 +0000  [thread overview]
-Message-ID: <20241218183401.41687-3-vicentiu.galanopulo@remote-tech.co.uk> (raw)
-In-Reply-To: <20241218183401.41687-1-vicentiu.galanopulo@remote-tech.co.uk>
+Date: Wed, 18 Dec 2024 18:33:58 +0000
+Subject: dt-bindings: leds: Add LED1202 LED Controller
 
 The LED1202 is a 12-channel low quiescent current LED driver with:
   * Supply range from 2.6 V to 5 V
@@ -26,20 +16,9 @@ set to active.
 
 Signed-off-by: Vicentiu Galanopulo <vicentiu.galanopulo@remote-tech.co.uk>
 Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Link: https://lore.kernel.org/r/20241218183401.41687-3-vicentiu.galanopulo@remote-tech.co.uk
+Signed-off-by: Lee Jones <lee@kernel.org>
 ---
-    v1: https://lore.kernel.org/lkml/ZnCnnQfwuRueCIQ0@admins-Air/T/
-    v2: https://lore.kernel.org/all/ZniNdGgKyUMV-hjq@admins-Air/T/
-    v3: https://lore.kernel.org/all/ZniNdGgKyUMV-hjq@admins-Air/T/
-    
-    Changes in v4:
-      - remove label property, use devm_led_classdev_register_ext instead
-    Changes in v3:
-      - remove active property
-    Changes in v2:
-      - renamed label to remove color from it
-      - add color property for each node
-      - add function and function-enumerator property for each node
-
  .../devicetree/bindings/leds/st,led1202.yaml  | 132 ++++++++++++++++++
  1 file changed, 132 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/leds/st,led1202.yaml
index 089f0921ff02b6ab73d43c6081a3dd0369c283b1..ee2ea076fa288eb3b2edb45acf19bea16fb37a1d 100644 (file)
@@ -1,16 +1,7 @@
+From 939757aafeb9c266dda37657ee5f7a73ffd35ae2 Mon Sep 17 00:00:00 2001
 From: Vicentiu Galanopulo <vicentiu.galanopulo@remote-tech.co.uk>
-To: Pavel Machek <pavel@ucw.cz>, Lee Jones <lee@kernel.org>,
-       Rob Herring <robh@kernel.org>,
-       Krzysztof Kozlowski <krzk+dt@kernel.org>,
-       Conor Dooley <conor+dt@kernel.org>,
-       Jonathan Corbet <corbet@lwn.net>,
-       Vicentiu Galanopulo <vicentiu.galanopulo@remote-tech.co.uk>,
-       linux-leds@vger.kernel.org, devicetree@vger.kernel.org,
-       linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org
-Subject: [PATCH v11 3/3] leds: Add LED1202 I2C driver
-Date: Wed, 18 Dec 2024 18:33:59 +0000  [thread overview]
-Message-ID: <20241218183401.41687-4-vicentiu.galanopulo@remote-tech.co.uk> (raw)
-In-Reply-To: <20241218183401.41687-1-vicentiu.galanopulo@remote-tech.co.uk>
+Date: Wed, 18 Dec 2024 18:33:59 +0000
+Subject: leds: Add LED1202 I2C driver
 
 The output current can be adjusted separately for each channel by 8-bit
 analog (current sink input) and 12-bit digital (PWM) dimming control. The
@@ -25,38 +16,9 @@ corresponds to the per channel analog dimming, while the patterns[1-8] to the
 PWM dimming control.
 
 Signed-off-by: Vicentiu Galanopulo <vicentiu.galanopulo@remote-tech.co.uk>
+Link: https://lore.kernel.org/r/20241218183401.41687-4-vicentiu.galanopulo@remote-tech.co.uk
+Signed-off-by: Lee Jones <lee@kernel.org>
 ---
-    Changes in v10:
-      - update description help in Kconfig
-      - move st1202_led and st1202_chip into one line, declaration and definition
-    Changes in v9:
-      - log errors directly in st1202_write_reg and st1202_read_reg
-      - use mutex guards instead of lock/unlock
-      - remove i2c_set_clientdata
-    Changes in v7:
-      - fix st1202_brightness_get() error: uninitialized symbol 'value'
-    Changes in v6:
-      - fix build error
-    Changes in v5:
-      - remove unused macros
-      - switch to using devm_led_classdev_register_ext (struct st1202_led update)
-      - add prescalar_to_milliseconds (convert [22..5660]ms to [0..255] reg value)
-      - remove register range check in dt_init (range protected by yaml)
-      - address all review comments in v4
-    Changes in v4:
-      - Remove attributes/extended attributes implementation
-      - Use /sys/class/leds/<led>/hw_pattern (Pavel suggestion)
-      - Implement review findings of Christophe JAILLET
-    Changes in v3:
-      - Rename all ll1202 to st1202, including driver file name
-      - Convert all magic numbers to defines
-      - Refactor the show/store callbacks as per Lee's and Thomas's review
-      - Remove ll1202_get_channel and use dev_ext_attributes instead
-      - Log all error values for all the functions
-      - Use sysfs_emit for show callbacks
-    Changes in v2:
-      - Fix build error for device_attribute modes
-
  drivers/leds/Kconfig       |  10 +
  drivers/leds/Makefile      |   1 +
  drivers/leds/leds-st1202.c | 416 +++++++++++++++++++++++++++++++++++++
@@ -84,14 +46,14 @@ Signed-off-by: Vicentiu Galanopulo <vicentiu.galanopulo@remote-tech.co.uk>
        depends on LEDS_CLASS
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -82,6 +82,7 @@ obj-$(CONFIG_LEDS_PWM)                       += leds-pwm.o
+@@ -81,6 +81,7 @@ obj-$(CONFIG_LEDS_POWERNV)           += leds-powe
+ obj-$(CONFIG_LEDS_PWM)                        += leds-pwm.o
  obj-$(CONFIG_LEDS_REGULATOR)          += leds-regulator.o
  obj-$(CONFIG_LEDS_SC27XX_BLTC)                += leds-sc27xx-bltc.o
- obj-$(CONFIG_LEDS_SUN50I_A100)                += leds-sun50i-a100.o
 +obj-$(CONFIG_LEDS_ST1202)             += leds-st1202.o
+ obj-$(CONFIG_LEDS_SUN50I_A100)                += leds-sun50i-a100.o
  obj-$(CONFIG_LEDS_SUNFIRE)            += leds-sunfire.o
  obj-$(CONFIG_LEDS_SYSCON)             += leds-syscon.o
- obj-$(CONFIG_LEDS_TCA6507)            += leds-tca6507.o
 --- /dev/null
 +++ b/drivers/leds/leds-st1202.c
 @@ -0,0 +1,416 @@
index d763c5dfbd50af210cdb3e6a015c07f0354fd967..39d8ddbf74f7af31c0b16108263a3061ce0c6315 100644 (file)
@@ -1,18 +1,21 @@
-From e3da313ebcace17f1227566fe1b0d0c3883061f9 Mon Sep 17 00:00:00 2001
+From c72e455b89f216b43cd0dbb518036ec4c98f5c46 Mon Sep 17 00:00:00 2001
 From: Manuel Fombuena <fombuena@outlook.com>
-Date: Fri, 17 Jan 2025 12:31:49 +0000
-Subject: [PATCH 1/5] leds: leds-st1202: fix NULL pointer access on race
- condition
+Date: Tue, 25 Feb 2025 22:01:02 +0000
+Subject: leds: leds-st1202: Fix NULL pointer access on race condition
 
 st1202_dt_init() calls devm_led_classdev_register_ext() before the
-internal data structures are properly setup, so the leds become visible
+internal data structures are properly set up, so the LEDs become visible
 to user space while being partially initialized, leading to a window
 where trying to access them causes a NULL pointer access.
 
-This change moves devm_led_classdev_register_ext() to the last thing to
-happen during initialization to eliminate it.
+Move devm_led_classdev_register_ext() from DT initialization
+to the end of the probe function when DT and hardware are fully
+initialized and ready to interact with user space.
 
+Fixes: 259230378c65 ("leds: Add LED1202 I2C driver")
 Signed-off-by: Manuel Fombuena <fombuena@outlook.com>
+Link: https://lore.kernel.org/r/CWLP123MB54732771AC0CE5491B3C84DCC5C32@CWLP123MB5473.GBRP123.PROD.OUTLOOK.COM
+Signed-off-by: Lee Jones <lee@kernel.org>
 ---
  drivers/leds/leds-st1202.c | 21 ++++++++++-----------
  1 file changed, 10 insertions(+), 11 deletions(-)
index faa801fc827f3445b705bcb7157d51352330028a..95f39f1a2a5be32742ca975c97cd4bcee7046af4 100644 (file)
@@ -29,6 +29,6 @@
  obj-$(CONFIG_LEDS_REGULATOR)          += leds-regulator.o
  obj-$(CONFIG_LEDS_SC27XX_BLTC)                += leds-sc27xx-bltc.o
 +obj-$(CONFIG_LEDS_SMARTRG_LED)                += leds-smartrg-system.o
- obj-$(CONFIG_LEDS_SUN50I_A100)                += leds-sun50i-a100.o
  obj-$(CONFIG_LEDS_ST1202)             += leds-st1202.o
+ obj-$(CONFIG_LEDS_SUN50I_A100)                += leds-sun50i-a100.o
  obj-$(CONFIG_LEDS_SUNFIRE)            += leds-sunfire.o
index 6187d095c881f3db04a29e1d6f4aaa89e1b07479..324b556998beb40f8e81bc582d7aba1a8638b24c 100644 (file)
@@ -46,8 +46,8 @@ Signed-off-by: Sander Vanheule <sander@svanheule.net>
  obj-$(CONFIG_LEDS_REGULATOR)          += leds-regulator.o
 +obj-$(CONFIG_LEDS_RTL8231)            += leds-rtl8231.o
  obj-$(CONFIG_LEDS_SC27XX_BLTC)                += leds-sc27xx-bltc.o
- obj-$(CONFIG_LEDS_SUN50I_A100)                += leds-sun50i-a100.o
  obj-$(CONFIG_LEDS_ST1202)             += leds-st1202.o
+ obj-$(CONFIG_LEDS_SUN50I_A100)                += leds-sun50i-a100.o
 --- /dev/null
 +++ b/drivers/leds/leds-rtl8231.c
 @@ -0,0 +1,285 @@