Hi, On Fri, 22 Dec 2023 17:37:10 +0100 Romain Naour <romain.naour@xxxxxxxx> wrote: > From: Romain Naour <romain.naour@xxxxxxx> > > sysc_check_active_timer() has been introduced by 6cfcd5563b4f > ("clocksource/drivers/timer-ti-dm: Fix suspend and resume for am3 and am4") > and initially returned -EBUSY to ignore timers tagged with no-reset > and no-idle. > > But the return code has been updated from -EBUSY to -ENXIO by > 65fb73676112 ("bus: ti-sysc: suppress err msg for timers used as clockevent/source") > and introduced a regression fixed by 06a089ef6449 > ("bus: ti-sysc: Fix error handling for sysc_check_active_timer()") > since sysc_probe() was still checking for -EBUSY. > > Finally the sysc_check_active_timer() return code was reverted > back to -EBUSY by a12315d6d270 > ("bus: ti-sysc: Make omap3 gpt12 quirk handling SoC specific") except > for SOC_3430. > > Now sysc_check_active_timer() may return ENXIO for SOC_3430 and > EBUSY for all other SoC. > > But sysc_probe() still check for -ENXIO leading to the following > errors in dmesg on AM57xx: > > ti-sysc: probe of 4ae18000.target-module failed with error -16 (timer1_target) > ti-sysc: probe of 4882c000.target-module failed with error -16 (timer15_target) > ti-sysc: probe of 4882e000.target-module failed with error -16 (timer6_target) > > Fix this by checking for both error code... > Well, fix what? As long as -EBUSY comes form sysc_check_active_timer(), there is no problem besides the noise. So clearly state what you want to fix, so is it only the noise. Of course I would also like the noise to be gone. I also stumbled across this. Bringing this to discussion is of course good. Changing it to -ENXIO has side effects as more lines are executed and the device is touched although it might be already in use by dmtimer_systimer. As far as I understand things: there are broken timers, timers used by clocksource and timers generally useable. And we return -ENXIO for the broken ones... The main issue here is that this needs more documentation/comments. I might of course be wrong... Regards, Andreas