diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/rtc/sysfs.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/rtc/sysfs.c b/drivers/rtc/sysfs.c index 00f1945bcb7e..92b348f742bb 100644 --- a/drivers/rtc/sysfs.c +++ b/drivers/rtc/sysfs.c @@ -243,6 +243,31 @@ offset_store(struct device *dev, struct device_attribute *attr, static DEVICE_ATTR_RW(offset); static ssize_t +set_offset_nsec_show(struct device *dev, struct device_attribute *attr, + char *buf) +{ + return sprintf(buf, "%ld\n", to_rtc_device(dev)->set_offset_nsec); +} + +static ssize_t +set_offset_nsec_store(struct device *dev, struct device_attribute *attr, + const char *buf, size_t n) +{ + struct rtc_device *rtc = to_rtc_device(dev); + long val; + int err; + + err = kstrtol(buf, 0, &val); + if (err) + return err; + + rtc->set_offset_nsec = val; + + return n; +} +static DEVICE_ATTR_RW(set_offset_nsec); + +static ssize_t range_show(struct device *dev, struct device_attribute *attr, char *buf) { return sprintf(buf, "[%lld,%llu]\n", to_rtc_device(dev)->range_min, @@ -259,6 +284,7 @@ static struct attribute *rtc_attrs[] = { &dev_attr_hctosys.attr, &dev_attr_wakealarm.attr, &dev_attr_offset.attr, + &dev_attr_set_offset_nsec.attr, &dev_attr_range.attr, NULL, }; |