Re: [PATCH v1 5/6] clocksource/drivers/exynos_mct: Add module support
From: Youngmin Nam
Date: Wed Apr 02 2025 - 00:23:54 EST
On Tue, Apr 01, 2025 at 09:27:09AM -0700, William McVicker wrote:
> On 04/01/2025, Krzysztof Kozlowski wrote:
> > On 01/04/2025 01:00, Will McVicker wrote:
> > > From: Donghoon Yu <hoony.yu@xxxxxxxxxxx>
> > >
> > > On Arm64 platforms the Exynos MCT driver can be built as a module. On
> > > boot (and even after boot) the arch_timer is used as the clocksource and
> > > tick timer. Once the MCT driver is loaded, it can be used as the wakeup
> > > source for the arch_timer.
> > >
> > > Signed-off-by: Donghoon Yu <hoony.yu@xxxxxxxxxxx>
> > > Signed-off-by: Youngmin Nam <youngmin.nam@xxxxxxxxxxx>
> > > [Original commit from https://android.googlesource.com/kernel/gs/+/8a52a8288ec7d88ff78f0b37480dbb0e9c65bbfd]
> > > Signed-off-by: Will McVicker <willmcvicker@xxxxxxxxxx>
> > > ---
> > > drivers/clocksource/Kconfig | 3 +-
> > > drivers/clocksource/exynos_mct.c | 47 +++++++++++++++++++++++++++-----
> > > 2 files changed, 42 insertions(+), 8 deletions(-)
> > >
> > > diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
> > > index 487c85259967..e5d9d8383607 100644
> > > --- a/drivers/clocksource/Kconfig
> > > +++ b/drivers/clocksource/Kconfig
> > > @@ -443,7 +443,8 @@ config ATMEL_TCB_CLKSRC
> > > Support for Timer Counter Blocks on Atmel SoCs.
> > >
> > > config CLKSRC_EXYNOS_MCT
> > > - bool "Exynos multi core timer driver" if COMPILE_TEST
> > > + tristate "Exynos multi core timer driver"
> > > + default y if ARCH_EXYNOS
> > > depends on ARM || ARM64
> > > depends on ARCH_ARTPEC || ARCH_EXYNOS || COMPILE_TEST
> > I am not sure if you actually tested it as module. On arm I cannot build
> > it even:
> >
> > ERROR: modpost: "register_current_timer_delay"
> > [drivers/clocksource/exynos_mct.ko] undefined!
> > ERROR: modpost: "sched_clock_register"
> > [drivers/clocksource/exynos_mct.ko] undefined!
>
> I tested with the gs101 ARM64 configuration. You're right it won't work with
> ARM32. Thanks for catching this! Since ARM32 architectures don't have the
> arch_timer, I'm not sure if we can actually support Exynos MCT as a module as
> you wouldn't have any available clocksource during boot. I'll update the
> Kconfig for v2 to handle this and make sure it works for ARM32. I'm guessing
> it'll work with something like:
>
> config CLKSRC_EXYNOS_MCT
> tristate "Exynos multi core timer driver" if ARM64
>
>
> Regards,
> Will
>
> [...]
>
Thanks for working on upstreaming the MCT driver modularization.
I'll take another look at your v2 patch
Thanks.
Youngmin