rtc: Add fallbacks for dm functions
authorSean Anderson <sean.anderson@seco.com>
Tue, 22 Nov 2022 17:54:52 +0000 (12:54 -0500)
committerTom Rini <trini@konsulko.com>
Fri, 9 Dec 2022 19:10:28 +0000 (14:10 -0500)
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>
include/rtc.h

index 10104e3..b6fdbb6 100644 (file)
 
 #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);