[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