mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:46:16 +00:00
37385c0772
The Renesas OS Timer (OSTM) driver contains two probe points, of which only one should complete: 1. Early probe, using TIMER_OF_DECLARE(), to provide the sole clocksource on (arm32) RZ/A1 and RZ/A2 SoCs, 2. Normal probe, using a platform driver, to provide additional timers on (arm64 + riscv) RZ/G2L and similar SoCs. The latter is needed because using OSTM on RZ/G2L requires manipulation of its reset signal, which is not yet available at the time of early probe, causing early probe to fail with -EPROBE_DEFER. It is only enabled when building a kernel with support for the RZ/G2L family, so it does not impact RZ/A1 and RZ/A2. Hence only one probe method can complete on all affected systems. As relying on the order of initialization of subsystems inside the kernel is fragile, set the DT node's OF_POPULATED flag after a succesful early probe. This makes sure the platform driver's probe is never called after a successful early probe. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviwed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/bd027379713cbaafa21ffe9e848ebb7f475ca0e7.1710930542.git.geert+renesas@glider.be |
||
---|---|---|
.. | ||
acpi_pm.c | ||
arc_timer.c | ||
arm_arch_timer.c | ||
arm_global_timer.c | ||
armv7m_systick.c | ||
asm9260_timer.c | ||
bcm2835_timer.c | ||
bcm_kona_timer.c | ||
clksrc_st_lpc.c | ||
clksrc-dbx500-prcmu.c | ||
clps711x-timer.c | ||
dummy_timer.c | ||
dw_apb_timer_of.c | ||
dw_apb_timer.c | ||
em_sti.c | ||
exynos_mct.c | ||
hyperv_timer.c | ||
i8253.c | ||
ingenic-ost.c | ||
ingenic-sysost.c | ||
ingenic-timer.c | ||
jcore-pit.c | ||
Kconfig | ||
Makefile | ||
mips-gic-timer.c | ||
mmio.c | ||
mps2-timer.c | ||
mxs_timer.c | ||
nomadik-mtu.c | ||
numachip.c | ||
renesas-ostm.c | ||
samsung_pwm_timer.c | ||
scx200_hrt.c | ||
sh_cmt.c | ||
sh_mtu2.c | ||
sh_tmu.c | ||
timer-armada-370-xp.c | ||
timer-atmel-pit.c | ||
timer-atmel-st.c | ||
timer-atmel-tcb.c | ||
timer-cadence-ttc.c | ||
timer-clint.c | ||
timer-cs5535.c | ||
timer-davinci.c | ||
timer-digicolor.c | ||
timer-ep93xx.c | ||
timer-fsl-ftm.c | ||
timer-fttmr010.c | ||
timer-goldfish.c | ||
timer-gx6605s.c | ||
timer-gxp.c | ||
timer-imx-gpt.c | ||
timer-imx-sysctr.c | ||
timer-imx-tpm.c | ||
timer-integrator-ap.c | ||
timer-ixp4xx.c | ||
timer-keystone.c | ||
timer-loongson1-pwm.c | ||
timer-lpc32xx.c | ||
timer-mediatek-cpux.c | ||
timer-mediatek.c | ||
timer-meson6.c | ||
timer-microchip-pit64b.c | ||
timer-milbeaut.c | ||
timer-mp-csky.c | ||
timer-msc313e.c | ||
timer-npcm7xx.c | ||
timer-of.c | ||
timer-of.h | ||
timer-orion.c | ||
timer-owl.c | ||
timer-pistachio.c | ||
timer-probe.c | ||
timer-pxa.c | ||
timer-qcom.c | ||
timer-rda.c | ||
timer-riscv.c | ||
timer-rockchip.c | ||
timer-sp804.c | ||
timer-sp.h | ||
timer-sprd.c | ||
timer-stm32-lp.c | ||
timer-stm32.c | ||
timer-sun4i.c | ||
timer-sun5i.c | ||
timer-tegra186.c | ||
timer-tegra.c | ||
timer-ti-32k.c | ||
timer-ti-dm-systimer.c | ||
timer-ti-dm.c | ||
timer-versatile.c | ||
timer-vf-pit.c | ||
timer-vt8500.c | ||
timer-zevio.c |