From patchwork Mon May 4 21:20:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rasmus Villemoes X-Patchwork-Id: 245050 List-Id: U-Boot discussion From: rasmus.villemoes at prevas.dk (Rasmus Villemoes) Date: Mon, 4 May 2020 23:20:26 +0200 Subject: [PATCH 0/6] rtc: add rtc_{read,write}8_array and rtc command Message-ID: <20200504212032.3759-1-rasmus.villemoes@prevas.dk> I need access to registers other than just the timekeeping ones of the pcf2127, so I wanted to implement ->read8 and ->write8. But for testing these it appeared there was no convenient way to invoke those from the shell, so I also ended up adding such a command. Also, it seemed more natural to provide array variants that can read or write several registers at once, so rtc_ops is expanded a bit. There are a few things one could do on top, but for now I just want some feedback, especially on the new _array methods. "rtc set", "rtc get" and "rtc reset" are rather obvious subsommands to add at some point. Also, rtc_{read,write}{16,32} can be simplified a bit, along the lines of __le16 v; int ret = rtc_read8_array(dev, reg, &v, 2); if (ret) return ret; *valuep = __le16_to_cpu(v); return 0; Rasmus Villemoes (6): rtc: add rtc_read8_array helper and ->read8_array method rtc: add rtc_write8_array() helper rtc: fall back to ->{read,write}8_array if ->{read,write}8 are not provided rtc: pcf2127: provide ->read8_array method rtc: pcf2127: provide ->write8_array method rtc: add rtc command cmd/Kconfig | 6 ++ cmd/Makefile | 1 + cmd/rtc.c | 153 +++++++++++++++++++++++++++++++++++++++ drivers/rtc/pcf2127.c | 14 +++- drivers/rtc/rtc-uclass.c | 53 +++++++++++++- include/rtc.h | 48 ++++++++++++ 6 files changed, 270 insertions(+), 5 deletions(-) create mode 100644 cmd/rtc.c