On Mon, Mar 31, 2025 at 04:00:27PM -0700, 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(-) [...] > +#ifdef MODULE > +static int exynos4_mct_probe(struct platform_device *pdev) > +{ > + struct device_node *np = pdev->dev.of_node; > + > + if (of_machine_is_compatible("samsung,exynos4412-mct")) Your root node compatible has "samsung,exynos4412-mct"!? In any case, add a data ptr to of_device_id table and then use the match data rather than comparing compatible strings again. > + return mct_init_ppi(np); > + > + return mct_init_spi(np); > +} > + > +static const struct of_device_id exynos4_mct_match_table[] = { > + { .compatible = "samsung,exynos4210-mct" }, > + { .compatible = "samsung,exynos4412-mct" }, > + {} > +}; > +MODULE_DEVICE_TABLE(of, exynos4_mct_match_table);