drivers/memory/atmel-ebi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
After removing of_platform_default_populate() calls the atmel-ebi driver
was affected by deferred probing. platform_driver_probe() is
incompatible with deferred probing. This led to atmel-ebi driver
eventually not being probed on at91 sam9x60-curiosity and other sam9x60
based boards. Subsequently the nand-controller driver (nand-controller
being a child node of ebi) on that platform was not probed and thus raw
NAND flash was inaccessible, preventing devices to boot with rootfs on
raw NAND flash (e.g. with UBI/UBIFS).
Fixes: 0b0f7e6539a7 ("ARM: at91: remove unnecessary of_platform_default_populate calls")
Cc: stable@vger.kernel.org
Suggested-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
Notes:
Successfully tested on sam9x60-curiosity board,
and on two custom boards based on sam9x60 and sama5d2.
drivers/memory/atmel-ebi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/memory/atmel-ebi.c b/drivers/memory/atmel-ebi.c
index 8db970da9af96..1e8e8aba2542d 100644
--- a/drivers/memory/atmel-ebi.c
+++ b/drivers/memory/atmel-ebi.c
@@ -628,10 +628,11 @@ static __maybe_unused int atmel_ebi_resume(struct device *dev)
static SIMPLE_DEV_PM_OPS(atmel_ebi_pm_ops, NULL, atmel_ebi_resume);
static struct platform_driver atmel_ebi_driver = {
+ .probe = atmel_ebi_probe,
.driver = {
.name = "atmel-ebi",
.of_match_table = atmel_ebi_id_table,
.pm = &atmel_ebi_pm_ops,
},
};
-builtin_platform_driver_probe(atmel_ebi_driver, atmel_ebi_probe);
+builtin_platform_driver(atmel_ebi_driver);
base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731
--
2.47.3
On Wed, 29 Apr 2026 14:59:30 +0200, Alexander Dahl wrote:
> After removing of_platform_default_populate() calls the atmel-ebi driver
> was affected by deferred probing. platform_driver_probe() is
> incompatible with deferred probing. This led to atmel-ebi driver
> eventually not being probed on at91 sam9x60-curiosity and other sam9x60
> based boards. Subsequently the nand-controller driver (nand-controller
> being a child node of ebi) on that platform was not probed and thus raw
> NAND flash was inaccessible, preventing devices to boot with rootfs on
> raw NAND flash (e.g. with UBI/UBIFS).
>
> [...]
Applied, thanks!
[1/1] memory: atmel-ebi: Allow deferred probing
https://git.kernel.org/krzk/linux-mem-ctrl/c/754d60ad1c91895be0bc7d771fbf9fb3c9448640
Best regards,
--
Krzysztof Kozlowski <krzk@kernel.org>
On 5/4/26 19:48, Krzysztof Kozlowski wrote: > > On Wed, 29 Apr 2026 14:59:30 +0200, Alexander Dahl wrote: >> After removing of_platform_default_populate() calls the atmel-ebi driver >> was affected by deferred probing. platform_driver_probe() is >> incompatible with deferred probing. This led to atmel-ebi driver >> eventually not being probed on at91 sam9x60-curiosity and other sam9x60 >> based boards. Subsequently the nand-controller driver (nand-controller >> being a child node of ebi) on that platform was not probed and thus raw >> NAND flash was inaccessible, preventing devices to boot with rootfs on >> raw NAND flash (e.g. with UBI/UBIFS). >> >> [...] > > Applied, thanks! > > [1/1] memory: atmel-ebi: Allow deferred probing > https://git.kernel.org/krzk/linux-mem-ctrl/c/754d60ad1c91895be0bc7d771fbf9fb3c9448640 Lo! What's the status of this regression fix? It seems to be sitting in next for a while already. To me as an outsider it looks like this should be on track to get it merged for -rc6, as that's when Linus ideally wants all regressions fixed; but it looks a bit like this is destined to be merged in the next merge window. But I might be entirely wrong here -- or I'm right and there are good reasons why the next merge window is better here. Ciao, Thorsten
On 28/05/2026 16:44, Thorsten Leemhuis wrote: > On 5/4/26 19:48, Krzysztof Kozlowski wrote: >> >> On Wed, 29 Apr 2026 14:59:30 +0200, Alexander Dahl wrote: >>> After removing of_platform_default_populate() calls the atmel-ebi driver >>> was affected by deferred probing. platform_driver_probe() is >>> incompatible with deferred probing. This led to atmel-ebi driver >>> eventually not being probed on at91 sam9x60-curiosity and other sam9x60 >>> based boards. Subsequently the nand-controller driver (nand-controller >>> being a child node of ebi) on that platform was not probed and thus raw >>> NAND flash was inaccessible, preventing devices to boot with rootfs on >>> raw NAND flash (e.g. with UBI/UBIFS). >>> >>> [...] >> >> Applied, thanks! >> >> [1/1] memory: atmel-ebi: Allow deferred probing >> https://git.kernel.org/krzk/linux-mem-ctrl/c/754d60ad1c91895be0bc7d771fbf9fb3c9448640 > > Lo! What's the status of this regression fix? It seems to be sitting in > next for a while already. To me as an outsider it looks like this should > be on track to get it merged for -rc6, as that's when Linus ideally > wants all regressions fixed; but it looks a bit like this is destined to > be merged in the next merge window. But I might be entirely wrong here > -- or I'm right and there are good reasons why the next merge window is > better here. Thanks for pinging. This indeed deserves fixing in current RC and I completely missed that. Or applied on wrong branch and forgot that it is a fix. I sent RC fix pull request with this now. Best regards, Krzysztof
© 2016 - 2026 Red Hat, Inc.