[PATCH] memory: atmel-ebi: Allow deferred probing

Alexander Dahl posted 1 patch 1 month, 2 weeks ago
drivers/memory/atmel-ebi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] memory: atmel-ebi: Allow deferred probing
Posted by Alexander Dahl 1 month, 2 weeks ago
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
Re: [PATCH] memory: atmel-ebi: Allow deferred probing
Posted by Krzysztof Kozlowski 1 month, 1 week ago
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>
Re: [PATCH] memory: atmel-ebi: Allow deferred probing
Posted by Thorsten Leemhuis 2 weeks, 5 days ago
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
Re: [PATCH] memory: atmel-ebi: Allow deferred probing
Posted by Krzysztof Kozlowski 2 weeks, 4 days ago
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