Re: [rtc-linux] [PATCH 04/10] RTC: Cleanuprtc_class_ops->read_alarm()
From: john stultz
Date: Tue Feb 22 2011 - 14:51:25 EST
On Tue, 2011-02-22 at 10:16 -0800, Mark Brown wrote:
> On Tue, Feb 22, 2011 at 12:09:38AM -0800, john stultz wrote:
>
> > Just so I can better get a grip of the cases your considering, could you
> > maybe give me some more detailed examples of where you'd like to see the
> > alarm timer be set and then persist across multiple power cycles before
> > firing? And how is that persistent value managed by the application
> > setting it?
>
> The WM83xx RTCs can do this (the alarm can be used to initiate a boot)
> and I'd expect many embedded RTC controllers can do similar. The
> application would manage this by owning the RTC in the system, usually
> with a configuration saying something like "boot every day at 7am" or
> something.
So since the RTC_ALM_SET doesn't support wildcards, the application
would be checking the hardware at least once a day and making sure the
alarm was properly set for 7am?
Does the approach I mentioned in my last mail to Marcelo sound like a
reasonable solution?
Basically: The kernel will try to init the value returned from
RTC_ALM_READ to whatever the hardware has stored, but since many (very
common) rtc devices don't support persistent values after reset,
applications shouldn't trust that alarms will persist across resets.
> Having thought about this a bit I'm thinking that this sort of alarm
> handling is probably something I'd expect to see handled in userspace.
> I can see us providing a virtual RTC driver that can generate alarms
> when there's no actual RTC hardware but adding additional functionality
> on top of the hardware feels like an application issue.
If you're suggesting that the multiplexing of RTC events doesn't belong
in the kernel, and instead should be handled through userland
coordination, then I disagree. The kernel's job is explicitly to
abstract the hardware so that resources can be shared safely. So
abstracting the RTC alarms doesn't seem to be overreaching. But maybe
I'm misunderstanding what your saying?
thanks
john
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/