[PATCH v4 00/21] lib, rtc: Print rtc_time via %ptR[dt][r]

From: Andy Shevchenko
Date: Wed Nov 28 2018 - 14:07:41 EST


*** BLURB HERE ***
At some point I have noticed too many users of struct rtc_time that
printing its content field by field.

In this series I introduce %ptR[dt][r] specifier to make life a bit
easier.

There are still users of detailed output of the struct rtc_time, but we
can introduce an additional extension for them in the future if needed,
otherwise they might be converted to the proposed output format.

Some of the changes slightly modify the output. In those cases we are on
the safe side since they are pure debug. Nevertheless I tried to leave
numbers to be the same or quite close: in some cases year is printed +
1900, though month is left in the range [0,11] instead of [1,12].

I didn't compile everything there, though I did a basic smoke test on
some x86 hardware. So, I rely on kbuild test robot as well :-)

Most of the users currently are RTC drivers, thus the patch series is
assumed to go via RTC tree.

Changelog v4:
- drop mention of PRINTK_PEXT_TIMEDATE (Joe)
- drop deprecated validation (Alexandre)
- add patch 1 to fix compilation warning (may be applied independently)

Changelog v3:
- no one supported configuration option for new extension, so it's dropped
- amend documentation (Geert)
- optimize flags checking (Geert)
- drop patch against non-existing anymore drivers
(due to massive architectures removal)
- rebase on top of recent linux-next

Changelog v2:
- split out lib/vsprintf changes to separate series
- build it optionally depending on introduced PRINTK_PEXT_TIMEDATE
- for now support only struct rtc_time
- make an additional letter for different time representations
- make above letter capital to reduce confusion on %ptr vs. %ptR
- drop kdb patch since it's a candidate for time64_t support

Andy Shevchenko (21):
nvmem: Mark nvmem_type_str array with __maybe_unused
lib/vsprintf: Print time and date in human readable format via %pt
rtc: Switch to use %ptR
rtc: at91rm9200: Switch to use %ptR
rtc: at91sam9: Switch to use %ptR
rtc: m41t80: Switch to use %ptR
rtc: m48t59: Switch to use %ptR
rtc: mcp795: Switch to use %ptR
rtc: pcf50633: Switch to use %ptR
rtc: pic32: Switch to use %ptR
rtc: pm8xxx: Switch to use %ptR
rtc: puv3: Switch to use %ptR
rtc: rk808: Switch to use %ptR
rtc: rx6110: Switch to use %ptR
rtc: rx8025: Switch to use %ptR
rtc: s3c: Switch to use %ptR
rtc: s5m: Switch to use %ptR
rtc: tegra: Switch to use %ptR
Input: hp_sdc_rtc - Switch to use %ptR
mk68/mac: Switch to use %ptR
PM: Switch to use %ptR

Documentation/core-api/printk-formats.rst | 18 ++++
arch/m68k/mac/misc.c | 8 +-
drivers/base/power/trace.c | 4 +-
drivers/char/rtc.c | 7 +-
drivers/input/misc/hp_sdc_rtc.c | 8 +-
drivers/rtc/hctosys.c | 8 +-
drivers/rtc/interface.c | 8 +-
drivers/rtc/rtc-at91rm9200.c | 15 +--
drivers/rtc/rtc-at91sam9.c | 16 +---
drivers/rtc/rtc-m41t80.c | 6 +-
drivers/rtc/rtc-m48t59.c | 8 +-
drivers/rtc/rtc-mcp795.c | 18 ++--
drivers/rtc/rtc-pcf50633.c | 8 +-
drivers/rtc/rtc-pic32.c | 18 +---
drivers/rtc/rtc-pm8xxx.c | 16 +---
drivers/rtc/rtc-proc.c | 36 +------
drivers/rtc/rtc-puv3.c | 18 +---
drivers/rtc/rtc-rk808.c | 20 ++--
drivers/rtc/rtc-rx6110.c | 12 +--
drivers/rtc/rtc-rx8025.c | 19 +---
drivers/rtc/rtc-s3c.c | 20 +---
drivers/rtc/rtc-s5m.c | 27 ++----
drivers/rtc/rtc-sysfs.c | 16 ++--
drivers/rtc/rtc-tegra.c | 30 +-----
include/linux/nvmem-provider.h | 2 +-
lib/test_printf.c | 6 ++
lib/vsprintf.c | 111 ++++++++++++++++++++++
27 files changed, 218 insertions(+), 265 deletions(-)

--
2.19.2