[PATCH] clocksource/drivers/timer-sun4i: Partially convert to a platform driver

Daniel Lezcano daniel.lezcano at linaro.org
Wed Mar 13 08:29:36 PDT 2024


On 12/03/2024 20:25, Samuel Holland wrote:
> Commit 8ec99b033147 ("irqchip/sifive-plic: Convert PLIC driver into a
> platform driver") broke the MMIO timer on the Allwinner D1 SoC because
> the IRQ domain is no longer available when timer_probe() is called:
> 
>    [    0.000000] irq: no irq domain found for interrupt-controller at 10000000 !
>    [    0.000000] Failed to map interrupt for /soc/timer at 2050000
>    [    0.000000] Failed to initialize '/soc/timer at 2050000': -22
> 
> Fix this by wrapping the timer initialization in a platform driver.
> builtin_platform_driver_probe() must be used because the driver uses
> timer_of_init(), which is marked as __init. Only convert the sun8i
> variants of the hardware, because some older SoCs still need the timer
> probed early for sched_clock().
> 
> Fixes: 8ec99b033147 ("irqchip/sifive-plic: Convert PLIC driver into a platform driver")
> Signed-off-by: Samuel Holland <samuel.holland at sifive.com>

Why EPROBE_DEFER in thermal-of can not fix the issue?

I mean can't we check if of_irq_get_byname() returns EPROBE_DEFER and 
then return this value?

-- 
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog




More information about the linux-riscv mailing list