From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Rasmus Villemoes <rasmus.villemoes@prevas.dk>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org,
Alessandro Zummo <a.zummo@towertech.it>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>,
linux-rtc@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
Joe Perches <joe@perches.com>, Mark Salyzyn <salyzyn@android.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [PATCH v2 02/21] rtc: Switch to use %ptR
Date: Tue, 20 Feb 2018 23:43:41 +0200 [thread overview]
Message-ID: <20180220214400.66749-3-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20180220214400.66749-1-andriy.shevchenko@linux.intel.com>
Use %ptR instead of open coded variant to print content of
struct rtc_time in human readable format.
Cc: Arnd Bergmann <arnd@arndb.de>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/char/Kconfig | 1 +
drivers/char/rtc.c | 7 +++----
drivers/rtc/Kconfig | 1 +
drivers/rtc/hctosys.c | 8 ++------
drivers/rtc/interface.c | 8 ++------
drivers/rtc/rtc-proc.c | 36 +++++-------------------------------
drivers/rtc/rtc-sysfs.c | 12 ++++--------
7 files changed, 18 insertions(+), 55 deletions(-)
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index c28dca0c613d..c96e00ebeae9 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -297,6 +297,7 @@ if RTC_LIB=n
config RTC
tristate "Enhanced Real Time Clock Support (legacy PC RTC driver)"
depends on ALPHA || (MIPS && MACH_LOONGSON64)
+ select PRINTK_PEXT_TIMEDATE
---help---
If you say Y here and create a character special file /dev/rtc with
major number 10 and minor number 135 using mknod ("man mknod"), you
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c
index 57dc546628b5..379023328a6f 100644
--- a/drivers/char/rtc.c
+++ b/drivers/char/rtc.c
@@ -1148,11 +1148,10 @@ static int rtc_proc_show(struct seq_file *seq, void *v)
* time or for Universal Standard Time (GMT). Probably local though.
*/
seq_printf(seq,
- "rtc_time\t: %02d:%02d:%02d\n"
- "rtc_date\t: %04d-%02d-%02d\n"
+ "rtc_time\t: %ptRt\n"
+ "rtc_date\t: %ptRd\n"
"rtc_epoch\t: %04lu\n",
- tm.tm_hour, tm.tm_min, tm.tm_sec,
- tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, epoch);
+ &tm, &tm, epoch);
get_rtc_alm_time(&tm);
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index f6d7e490e714..da9e49e7c30e 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -4,6 +4,7 @@
config RTC_LIB
bool
+ select PRINTK_PEXT_TIMEDATE
config RTC_MC146818_LIB
bool
diff --git a/drivers/rtc/hctosys.c b/drivers/rtc/hctosys.c
index e1cfa06810ef..9989109781b8 100644
--- a/drivers/rtc/hctosys.c
+++ b/drivers/rtc/hctosys.c
@@ -51,12 +51,8 @@ static int __init rtc_hctosys(void)
err = do_settimeofday64(&tv64);
- dev_info(rtc->dev.parent,
- "setting system clock to "
- "%d-%02d-%02d %02d:%02d:%02d UTC (%lld)\n",
- tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
- tm.tm_hour, tm.tm_min, tm.tm_sec,
- (long long) tv64.tv_sec);
+ dev_info(rtc->dev.parent, "setting system clock to %ptR UTC (%lld)\n",
+ &tm, (long long)tv64.tv_sec);
err_read:
rtc_class_close(rtc);
diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c
index 7e253be19ba7..ea4afe3893f2 100644
--- a/drivers/rtc/interface.c
+++ b/drivers/rtc/interface.c
@@ -297,12 +297,8 @@ int __rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
err = rtc_valid_tm(&alarm->time);
done:
- if (err) {
- dev_warn(&rtc->dev, "invalid alarm value: %d-%d-%d %d:%d:%d\n",
- alarm->time.tm_year + 1900, alarm->time.tm_mon + 1,
- alarm->time.tm_mday, alarm->time.tm_hour, alarm->time.tm_min,
- alarm->time.tm_sec);
- }
+ if (err)
+ dev_warn(&rtc->dev, "invalid alarm value: %ptR\n", &alarm->time);
return err;
}
diff --git a/drivers/rtc/rtc-proc.c b/drivers/rtc/rtc-proc.c
index 31e7e23cc5be..2aed9a0042d8 100644
--- a/drivers/rtc/rtc-proc.c
+++ b/drivers/rtc/rtc-proc.c
@@ -50,41 +50,15 @@ static int rtc_proc_show(struct seq_file *seq, void *offset)
err = rtc_read_time(rtc, &tm);
if (err == 0) {
seq_printf(seq,
- "rtc_time\t: %02d:%02d:%02d\n"
- "rtc_date\t: %04d-%02d-%02d\n",
- tm.tm_hour, tm.tm_min, tm.tm_sec,
- tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday);
+ "rtc_time\t: %ptRt\n"
+ "rtc_date\t: %ptRd\n",
+ &tm, &tm);
}
err = rtc_read_alarm(rtc, &alrm);
if (err == 0) {
- seq_printf(seq, "alrm_time\t: ");
- if ((unsigned int)alrm.time.tm_hour <= 24)
- seq_printf(seq, "%02d:", alrm.time.tm_hour);
- else
- seq_printf(seq, "**:");
- if ((unsigned int)alrm.time.tm_min <= 59)
- seq_printf(seq, "%02d:", alrm.time.tm_min);
- else
- seq_printf(seq, "**:");
- if ((unsigned int)alrm.time.tm_sec <= 59)
- seq_printf(seq, "%02d\n", alrm.time.tm_sec);
- else
- seq_printf(seq, "**\n");
-
- seq_printf(seq, "alrm_date\t: ");
- if ((unsigned int)alrm.time.tm_year <= 200)
- seq_printf(seq, "%04d-", alrm.time.tm_year + 1900);
- else
- seq_printf(seq, "****-");
- if ((unsigned int)alrm.time.tm_mon <= 11)
- seq_printf(seq, "%02d-", alrm.time.tm_mon + 1);
- else
- seq_printf(seq, "**-");
- if (alrm.time.tm_mday && (unsigned int)alrm.time.tm_mday <= 31)
- seq_printf(seq, "%02d\n", alrm.time.tm_mday);
- else
- seq_printf(seq, "**\n");
+ seq_printf(seq, "alrm_time\t: %ptRtv\n", &alrm.time);
+ seq_printf(seq, "alrm_date\t: %ptRdv\n", &alrm.time);
seq_printf(seq, "alarm_IRQ\t: %s\n",
alrm.enabled ? "yes" : "no");
seq_printf(seq, "alrm_pending\t: %s\n",
diff --git a/drivers/rtc/rtc-sysfs.c b/drivers/rtc/rtc-sysfs.c
index 92ff2edb86a6..0b96926a98e4 100644
--- a/drivers/rtc/rtc-sysfs.c
+++ b/drivers/rtc/rtc-sysfs.c
@@ -39,10 +39,8 @@ date_show(struct device *dev, struct device_attribute *attr, char *buf)
struct rtc_time tm;
retval = rtc_read_time(to_rtc_device(dev), &tm);
- if (retval == 0) {
- retval = sprintf(buf, "%04d-%02d-%02d\n",
- tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday);
- }
+ if (retval == 0)
+ retval = sprintf(buf, "%ptRd\n", &tm);
return retval;
}
@@ -55,10 +53,8 @@ time_show(struct device *dev, struct device_attribute *attr, char *buf)
struct rtc_time tm;
retval = rtc_read_time(to_rtc_device(dev), &tm);
- if (retval == 0) {
- retval = sprintf(buf, "%02d:%02d:%02d\n",
- tm.tm_hour, tm.tm_min, tm.tm_sec);
- }
+ if (retval == 0)
+ retval = sprintf(buf, "%ptRt\n", &tm);
return retval;
}
--
2.15.1
next prev parent reply other threads:[~2018-02-20 21:43 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-20 21:43 [PATCH v2 00/21] lib, rtc: Print rtc_time via %ptR[dt][rv] Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 01/21] lib/vsprintf: Print time and date in human readable format via %pt Andy Shevchenko
2018-02-20 23:55 ` Joe Perches
2018-02-21 7:38 ` Rasmus Villemoes
2018-02-21 13:23 ` Andy Shevchenko
2018-02-21 14:19 ` Geert Uytterhoeven
2018-02-22 12:46 ` Andy Shevchenko
2018-02-21 9:16 ` Alexandre Belloni
2018-02-21 13:19 ` Andy Shevchenko
2018-02-21 9:33 ` Geert Uytterhoeven
2018-02-21 14:02 ` Andy Shevchenko
2018-02-21 14:05 ` Andy Shevchenko
2018-03-14 16:54 ` Dmitry Torokhov
2018-02-20 21:43 ` Andy Shevchenko [this message]
2018-02-20 21:43 ` [PATCH v2 03/21] rtc: at91rm9200: Switch to use %ptR Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 04/21] rtc: at91sam9: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 05/21] rtc: m41t80: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 06/21] rtc: m48t59: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 07/21] rtc: mcp795: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 08/21] rtc: pcf50633: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 09/21] rtc: pic32: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 10/21] rtc: pm8xxx: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 11/21] rtc: puv3: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 12/21] rtc: rk808: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 13/21] rtc: rx6110: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 14/21] rtc: rx8025: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 15/21] rtc: s3c: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 16/21] rtc: s5m: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 17/21] rtc: tegra: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 18/21] ds1302: " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 19/21] Input: hp_sdc_rtc - " Andy Shevchenko
2018-02-20 21:43 ` [PATCH v2 20/21] mk68/mac: " Andy Shevchenko
2018-02-21 9:38 ` Geert Uytterhoeven
2018-02-21 14:04 ` Andy Shevchenko
2018-02-20 21:44 ` [PATCH v2 21/21] PM: " Andy Shevchenko
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=20180220214400.66749-3-andriy.shevchenko@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=a.zummo@towertech.it \
--cc=akpm@linux-foundation.org \
--cc=alexandre.belloni@free-electrons.com \
--cc=arnd@arndb.de \
--cc=gregkh@linuxfoundation.org \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rtc@vger.kernel.org \
--cc=rasmus.villemoes@prevas.dk \
--cc=salyzyn@android.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
Powered by JetHome