rtc: add boot_timesource sysfs attribute
CONFIG_RTC_HCTOSYS allows the kernel to read the system time from the RTC at boot and resume, avoiding the need for userspace to do so. Unfortunately userspace currently has no way to know whether this configuration option is enabled and thus cannot sensibly choose whether to run hwclock itself or not. Add a hctosys sysfs attribute which indicates whether a given RTC set the system clock. Signed-off-by: Matthew Garrett <mjg@redhat.com> Acked-by: Alessandro Zummo <a.zummo@towertech.it> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
ea3d1606fd
commit
d8c1acb166
@ -102,6 +102,19 @@ rtc_sysfs_set_max_user_freq(struct device *dev, struct device_attribute *attr,
|
||||
return n;
|
||||
}
|
||||
|
||||
static ssize_t
|
||||
rtc_sysfs_show_hctosys(struct device *dev, struct device_attribute *attr,
|
||||
char *buf)
|
||||
{
|
||||
#ifdef CONFIG_RTC_HCTOSYS_DEVICE
|
||||
if (strcmp(dev_name(&to_rtc_device(dev)->dev),
|
||||
CONFIG_RTC_HCTOSYS_DEVICE) == 0)
|
||||
return sprintf(buf, "1\n");
|
||||
else
|
||||
#endif
|
||||
return sprintf(buf, "0\n");
|
||||
}
|
||||
|
||||
static struct device_attribute rtc_attrs[] = {
|
||||
__ATTR(name, S_IRUGO, rtc_sysfs_show_name, NULL),
|
||||
__ATTR(date, S_IRUGO, rtc_sysfs_show_date, NULL),
|
||||
@ -109,6 +122,7 @@ static struct device_attribute rtc_attrs[] = {
|
||||
__ATTR(since_epoch, S_IRUGO, rtc_sysfs_show_since_epoch, NULL),
|
||||
__ATTR(max_user_freq, S_IRUGO | S_IWUSR, rtc_sysfs_show_max_user_freq,
|
||||
rtc_sysfs_set_max_user_freq),
|
||||
__ATTR(hctosys, S_IRUGO, rtc_sysfs_show_hctosys, NULL),
|
||||
{ },
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user