public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Matthew Garrett <mjg59@srcf.ucam.org>
To: Alessandro Zummo <alessandro.zummo@towertech.it>
Cc: rtc-linux@googlegroups.com, linux-kernel@vger.kernel.org
Subject: Re: [rtc-linux] Re: [PATCH 2/2] rtc: Add boot_timesource sysfs attribute
Date: Fri, 4 Sep 2009 18:09:28 +0100	[thread overview]
Message-ID: <20090904170928.GA26009@srcf.ucam.org> (raw)
In-Reply-To: <20090904190345.02733404@i1501.lan.towertech.it>

Ok. How's this?

commit 09895be2ef8528dc33ca8516ca4f5ccbec2ffb05
Author: Matthew Garrett <mjg@redhat.com>
Date:   Fri Sep 4 12:23:02 2009 -0400

    rtc: Add hctosys 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>

diff --git a/Documentation/rtc.txt b/Documentation/rtc.txt
index 216bb8c..baac51f 100644
--- a/Documentation/rtc.txt
+++ b/Documentation/rtc.txt
@@ -143,6 +143,8 @@ rtc attributes without requiring the use of ioctls. All dates and times
 are in the RTC's timezone, rather than in system time.
 
 date:  	   	 RTC-provided date
+hctosys:   	 1 if the RTC provided the system time at boot via the
+		 CONFIG_RTC_HCTOSYS kernel option, 0 otherwise
 max_user_freq:	 The maximum interrupt rate an unprivileged user may request
 		 from this RTC.
 name:		 The name of the RTC corresponding to this sysfs directory
diff --git a/drivers/rtc/rtc-sysfs.c b/drivers/rtc/rtc-sysfs.c
index 2531ce4..7dd23a6 100644
--- a/drivers/rtc/rtc-sysfs.c
+++ b/drivers/rtc/rtc-sysfs.c
@@ -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),
 	{ },
 };
 

-- 
Matthew Garrett | mjg59@srcf.ucam.org

  reply	other threads:[~2009-09-04 17:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-04 16:26 [PATCH 1/2] rtc: Document the sysfs interface Matthew Garrett
2009-09-04 16:26 ` [PATCH 2/2] rtc: Add boot_timesource sysfs attribute Matthew Garrett
2009-09-04 16:25   ` [rtc-linux] " Alessandro Zummo
2009-09-04 16:30     ` Matthew Garrett
2009-09-04 16:38       ` [rtc-linux] " Alessandro Zummo
2009-09-04 16:41         ` Matthew Garrett
2009-09-04 16:52           ` Alessandro Zummo
2009-09-04 16:55             ` Matthew Garrett
2009-09-04 17:03               ` Alessandro Zummo
2009-09-04 17:09                 ` Matthew Garrett [this message]
2009-09-05 21:11                   ` Alessandro Zummo
2009-09-06  1:34                   ` Mark Brown
2009-09-14 22:59             ` Karel Zak
2009-09-04 16:26 ` [rtc-linux] [PATCH 1/2] rtc: Document the sysfs interface Alessandro Zummo
2009-09-04 16:35 ` Mark Brown
2009-09-04 16:39   ` Matthew Garrett
2009-09-04 16:52     ` [rtc-linux] " Mark Brown
2009-09-04 23:23       ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090904170928.GA26009@srcf.ucam.org \
    --to=mjg59@srcf.ucam.org \
    --cc=alessandro.zummo@towertech.it \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rtc-linux@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox