Re: [PATCH v2 1/6] rtc: m68k: provide rtc_class_ops directly
From: Arnd Bergmann
Date: Wed Apr 27 2016 - 06:35:00 EST
On Wednesday 27 April 2016 09:47:56 Geert Uytterhoeven wrote:
> > --- a/arch/m68k/kernel/time.c
> > +++ b/arch/m68k/kernel/time.c
> > @@ -86,7 +86,24 @@ void read_persistent_clock(struct timespec *ts)
> > }
> > }
> >
> > -#ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
> > +#if defined(CONFIG_ARCH_USES_GETTIMEOFFSET) && defined(CONFIG_RTC_DRV_GENERIC)
>
> s/defined/IS_ENABLED/ for the modular case.
Thanks, fixed in all three architectures/
> > @@ -95,7 +112,10 @@ static int __init rtc_init(void)
> > if (!mach_hwclk)
> > return -ENODEV;
> >
> > - pdev = platform_device_register_simple("rtc-generic", -1, NULL, 0);
> > + /* or just call devm_rtc_device_register instead? */
>
> I guess this comment is a bogus leftover? There's no "dev" parameter to
> pass to devm_rtc_device_register() here.
Sort of. When I wrote it, I thought that a NULL argument would work,
and I later found out myself that it doesn't.
I'll drop the comment there, but there are still a few ways we (probably
not me, but whoever is interested) could take this further:
- register both the device and the driver here, and call
devm_rtc_device_register from the probe function so we can move away
from drivers/rtc/rtc-generic.c
- do this separately for mac, mvme147, mvme16x, sun3, q40 and sun3x
- move the six implementations into drivers/rtc as standalone drivers.
One (AFAIK) unsolved problem here is the question of how to handle
read_boot_clock/read_persistent_clock/update_persistent_clock in this
case. This is a really odd API that is implemented in various ways
on a few major architectures, and not at all on others, so it's all
highly inconsistent.
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html