Message ID | 20221011200635.3872300-1-sean.anderson@seco.com |
---|---|
State | Changes Requested |
Delegated to: | Tom Rini |
Headers | show |
Series | [v2] rtc: Add fallbacks for dm functions | expand |
On Tue, Oct 11, 2022 at 04:06:35PM -0400, Sean Anderson wrote: > This adds fallbacks for the various dm_rtc_* functions. This allows > common code to use these functions without ifdefs. > > Fixes: c8ce7ba87d1 ("misc: Add support for nvmem cells") > Reviewed-by: Simon Glass <sjg@chromium.org> > Signed-off-by: Sean Anderson <sean.anderson@seco.com> > --- > > Changes in v2: > - Include linux/errno.h for ENOSYS. This is needed for some mips boards > when CONFIG_BLK is enabled for whatever reason. > > include/rtc.h | 32 +++++++++++++++++++++++++++++--- > 1 file changed, 29 insertions(+), 3 deletions(-) Almost there, this just breaks chromebook_coral now, but nothing else.
diff --git a/include/rtc.h b/include/rtc.h index 10104e3bf5a..b6fdbb60dc2 100644 --- a/include/rtc.h +++ b/include/rtc.h @@ -15,13 +15,12 @@ #include <bcd.h> #include <rtc_def.h> +#include <linux/errno.h> typedef int64_t time64_t; - -#ifdef CONFIG_DM_RTC - struct udevice; +#if CONFIG_IS_ENABLED(DM_RTC) struct rtc_ops { /** * get() - get the current time @@ -222,6 +221,33 @@ int rtc_enable_32khz_output(int busnum, int chip_addr); #endif #else +static inline int dm_rtc_get(struct udevice *dev, struct rtc_time *time) +{ + return -ENOSYS; +} + +static inline int dm_rtc_set(struct udevice *dev, struct rtc_time *time) +{ + return -ENOSYS; +} + +static inline int dm_rtc_reset(struct udevice *dev) +{ + return -ENOSYS; +} + +static inline int dm_rtc_read(struct udevice *dev, unsigned int reg, u8 *buf, + unsigned int len) +{ + return -ENOSYS; +} + +static inline int dm_rtc_write(struct udevice *dev, unsigned int reg, + const u8 *buf, unsigned int len) +{ + return -ENOSYS; +} + int rtc_get (struct rtc_time *); int rtc_set (struct rtc_time *); void rtc_reset (void);