Use %ptR instead of open coded variant to print content of
struct rtc_time in human readable format.

Cc: Arnd Bergmann <[email protected]>
Acked-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
---
 drivers/char/Kconfig  |  1 +
 drivers/char/ds1302.c | 39 ++++++++++-----------------------------
 2 files changed, 11 insertions(+), 29 deletions(-)

diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index c96e00ebeae9..2bd83d3951c1 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -350,6 +350,7 @@ config EFI_RTC
 config DS1302
        tristate "DS1302 RTC support"
        depends on M32R && (PLAT_M32700UT || PLAT_OPSPUT)
+       select PRINTK_PEXT_TIMEDATE
        help
          If you say Y here and create a character special file /dev/rtc with
          major number 121 and minor number 0 using mknod ("man mknod"), you
diff --git a/drivers/char/ds1302.c b/drivers/char/ds1302.c
index 8e16ad5d6d89..1e8bd9bf4bc9 100644
--- a/drivers/char/ds1302.c
+++ b/drivers/char/ds1302.c
@@ -5,7 +5,7 @@
 *!
 *! DESCRIPTION: Implements an interface for the DS1302 RTC
 *!
-*! Functions exported: ds1302_readreg, ds1302_writereg, ds1302_init, 
get_rtc_status
+*! Functions exported: ds1302_readreg, ds1302_writereg, ds1302_init
 *!
 *! ---------------------------------------------------------------------------
 *!
@@ -258,31 +258,6 @@ static long rtc_ioctl(struct file *file, unsigned int cmd, 
unsigned long arg)
        }
 }
 
-int
-get_rtc_status(char *buf)
-{
-       char *p;
-       struct rtc_time tm;
-
-       p = buf;
-
-       get_rtc_time(&tm);
-
-       /*
-        * There is no way to tell if the luser has the RTC set for local
-        * time or for Universal Standard Time (GMT). Probably local though.
-        */
-
-       p += sprintf(p,
-               "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);
-
-       return  p - buf;
-}
-
-
 /* The various file operations we support. */
 
 static const struct file_operations rtc_fops = {
@@ -299,6 +274,7 @@ static int __init
 ds1302_probe(void)
 {
        int retval, res, baur;
+       struct rtc_time tm;
 
        baur=(boot_cpu_data.bus_clock/(2*1000*1000));
 
@@ -317,11 +293,16 @@ ds1302_probe(void)
 
        /* read RAM byte 0 */
        if((res = in_byte_rtc(0xc1)) == MAGIC_PATTERN) {
-               char buf[100];
                ds1302_wdisable();
                printk("%s: RTC found.\n", ds1302_name);
-               get_rtc_status(buf);
-               printk(buf);
+               /*
+                * There is no way to tell if the luser has the RTC set
+                * for local time or for Universal Standard Time (GMT).
+                * Probably local though.
+                */
+               get_rtc_time(&tm);
+               printk("rtc_time\t: %ptRt\n", &tm);
+               printk("rtc_date\t: %ptRd\n", &tm);
                retval = 1;
        } else {
                printk("%s: RTC not found.\n", ds1302_name);
-- 
2.15.1

Reply via email to