alarmtimer: Make alarmtimer_get_rtcdev() a stub when CONFIG_RTC_CLASS=n
authorStephen Boyd <swboyd@chromium.org>
Fri, 24 Jan 2020 05:58:48 +0000 (21:58 -0800)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 24 Jan 2020 20:03:53 +0000 (21:03 +0100)
The stubbed version of alarmtimer_get_rtcdev() is not exported.
so this won't work if this function is used in a module when
CONFIG_RTC_CLASS=n.

Move the stub function to the header file and make it inline so that
callers don't have to worry about linking against this symbol.

rtcdev isn't used outside of this ifdef so it's not required to be
redefined to NULL. Drop that while touching this area.

Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20200124055849.154411-4-swboyd@chromium.org
include/linux/alarmtimer.h
kernel/time/alarmtimer.c

index 74748e306f4b8f5ad8e184d9385221e9a61e9538..05e758b8b894541c1388b8ec97300dc8573fa317 100644 (file)
@@ -60,7 +60,11 @@ u64 alarm_forward(struct alarm *alarm, ktime_t now, ktime_t interval);
 u64 alarm_forward_now(struct alarm *alarm, ktime_t interval);
 ktime_t alarm_expires_remaining(const struct alarm *alarm);
 
+#ifdef CONFIG_RTC_CLASS
 /* Provide way to access the rtc device being used by alarmtimers */
 struct rtc_device *alarmtimer_get_rtcdev(void);
+#else
+static inline struct rtc_device *alarmtimer_get_rtcdev(void) { return NULL; }
+#endif
 
 #endif
index 685ff57a1d876870a7e5aa436e4ea56476688f65..2ffb466af77ecc85ccb7e7c5f43ba0862404f428 100644 (file)
@@ -143,11 +143,6 @@ static void alarmtimer_rtc_interface_remove(void)
        class_interface_unregister(&alarmtimer_rtc_interface);
 }
 #else
-struct rtc_device *alarmtimer_get_rtcdev(void)
-{
-       return NULL;
-}
-#define rtcdev (NULL)
 static inline int alarmtimer_rtc_interface_setup(void) { return 0; }
 static inline void alarmtimer_rtc_interface_remove(void) { }
 static inline void alarmtimer_rtc_timer_init(void) { }