[PATCH v2 3/4] clocksource/drivers/arm_arch_timer_mmio: Switch over to standalone driver
Marc Zyngier
maz at kernel.org
Thu Oct 30 09:55:59 PDT 2025
On Thu, 30 Oct 2025 16:35:11 +0000,
Lorenzo Pieralisi <lpieralisi at kernel.org> wrote:
>
> On Thu, Aug 14, 2025 at 04:46:21PM +0100, Marc Zyngier wrote:
>
> [...]
>
> > diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
>
> [...]
>
> > #ifdef CONFIG_ACPI_GTDT
> > -static int __init
> > -arch_timer_mem_verify_cntfrq(struct arch_timer_mem *timer_mem)
> > -{
> > - struct arch_timer_mem_frame *frame;
> > - u32 rate;
> > - int i;
> > -
> > - for (i = 0; i < ARCH_TIMER_MEM_MAX_FRAMES; i++) {
> > - frame = &timer_mem->frame[i];
> > -
> > - if (!frame->valid)
> > - continue;
> > -
> > - rate = arch_timer_mem_frame_get_cntfrq(frame);
> > - if (rate == arch_timer_rate)
> > - continue;
> > -
> > - pr_err(FW_BUG "CNTFRQ mismatch: frame @ %pa: (0x%08lx), CPU: (0x%08lx)\n",
> > - &frame->cntbase,
> > - (unsigned long)rate, (unsigned long)arch_timer_rate);
> > -
> > - return -EINVAL;
> > - }
> > -
> > - return 0;
> > -}
> > -
> > -static int __init arch_timer_mem_acpi_init(int platform_timer_count)
> > -{
> > - struct arch_timer_mem *timers, *timer;
> > - struct arch_timer_mem_frame *frame, *best_frame = NULL;
> > - int timer_count, i, ret = 0;
> > -
> > - timers = kcalloc(platform_timer_count, sizeof(*timers),
> > - GFP_KERNEL);
> > - if (!timers)
> > - return -ENOMEM;
> > -
> > - ret = acpi_arch_timer_mem_init(timers, &timer_count);
>
> You probably already noticed (I was checking the initcall level in
> drivers/acpi/arm64/gtdt.c to start sorting out GICv5 IWB dependencies),
> AFAICS acpi_arch_timer_mem_init() is now unused so it can be removed.
See https://lore.kernel.org/r/20251030110137.1843007-1-maz@kernel.org
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
More information about the linux-arm-kernel
mailing list