Message ID | 08716c8296f91fc43a64fbd0a4145b451a02f161.1473232117.git.baolin.wang@linaro.org |
---|---|
State | Superseded |
Headers | show |
Hi, On 7 September 2016 at 20:12, Alexandre Belloni <alexandre.belloni@free-electrons.com> wrote: > On 07/09/2016 at 15:17:26 +0800, Baolin Wang wrote : >> Add some dummy static inline functions in case CONFIG_RTC_LIB is not defined. >> > > The question your commit log should answer is why? I will add the commit log to explain why like below, thanks. The patch (commit id: a0a6e06d545a753740c9d8d5ce2c4fdd3ab1c021) adding tracepoints for alarmtimers will build failed on S390 platform, due to S390 defconfig did not define CONFIG_RTC_LIB macro to define the rtc_ktime_to_tm() function which is used in this patch. Thus we should add dummy static inline functions in case CONFIG_RTC_LIB is not defined. > >> Signed-off-by: Baolin Wang <baolin.wang@linaro.org> >> Fixes: a0a6e06d545a ("time: alarmtimer: Add tracepoints for alarmtimers") >> --- >> include/linux/rtc.h | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- >> 1 file changed, 48 insertions(+), 1 deletion(-) >> >> diff --git a/include/linux/rtc.h b/include/linux/rtc.h >> index b693ada..521f752 100644 >> --- a/include/linux/rtc.h >> +++ b/include/linux/rtc.h >> @@ -16,13 +16,60 @@ >> #include <linux/interrupt.h> >> #include <uapi/linux/rtc.h> >> >> +#ifdef CONFIG_RTC_LIB >> extern int rtc_month_days(unsigned int month, unsigned int year); >> -extern int rtc_year_days(unsigned int day, unsigned int month, unsigned int year); >> +extern int rtc_year_days(unsigned int day, unsigned int month, >> + unsigned int year); >> extern int rtc_valid_tm(struct rtc_time *tm); >> extern time64_t rtc_tm_to_time64(struct rtc_time *tm); >> extern void rtc_time64_to_tm(time64_t time, struct rtc_time *tm); >> ktime_t rtc_tm_to_ktime(struct rtc_time tm); >> struct rtc_time rtc_ktime_to_tm(ktime_t kt); >> +#else >> +static inline int rtc_month_days(unsigned int month, unsigned int year) >> +{ >> + return 0; >> +} >> + >> +static inline int rtc_year_days(unsigned int day, unsigned int month, >> + unsigned int year) >> +{ >> + return 0; >> +} >> + >> +static inline int rtc_valid_tm(struct rtc_time *tm) >> +{ >> + return 0; >> +} >> + >> +static inline time64_t rtc_tm_to_time64(struct rtc_time *tm) >> +{ >> + time64_t ret; >> + >> + memset(&ret, 0, sizeof(time64_t)); >> + return ret; >> +} >> + >> +static inline void rtc_time64_to_tm(time64_t time, struct rtc_time *tm) >> +{ >> +} >> + >> +static inline ktime_t rtc_tm_to_ktime(struct rtc_time tm) >> +{ >> + ktime_t ret; >> + >> + memset(&ret, 0, sizeof(ktime_t)); >> + return ret; >> +} >> + >> +static inline struct rtc_time rtc_ktime_to_tm(ktime_t kt) >> +{ >> + struct rtc_time ret; >> + >> + memset(&ret, 0, sizeof(struct rtc_time)); >> + return ret; >> +} >> +#endif >> >> /* >> * rtc_tm_sub - Return the difference in seconds. >> -- >> 1.7.9.5 >> > > -- > Alexandre Belloni, Free Electrons > Embedded Linux and Kernel engineering > http://free-electrons.com -- Baolin.wang Best Regards
diff --git a/include/linux/rtc.h b/include/linux/rtc.h index b693ada..521f752 100644 --- a/include/linux/rtc.h +++ b/include/linux/rtc.h @@ -16,13 +16,60 @@ #include <linux/interrupt.h> #include <uapi/linux/rtc.h> +#ifdef CONFIG_RTC_LIB extern int rtc_month_days(unsigned int month, unsigned int year); -extern int rtc_year_days(unsigned int day, unsigned int month, unsigned int year); +extern int rtc_year_days(unsigned int day, unsigned int month, + unsigned int year); extern int rtc_valid_tm(struct rtc_time *tm); extern time64_t rtc_tm_to_time64(struct rtc_time *tm); extern void rtc_time64_to_tm(time64_t time, struct rtc_time *tm); ktime_t rtc_tm_to_ktime(struct rtc_time tm); struct rtc_time rtc_ktime_to_tm(ktime_t kt); +#else +static inline int rtc_month_days(unsigned int month, unsigned int year) +{ + return 0; +} + +static inline int rtc_year_days(unsigned int day, unsigned int month, + unsigned int year) +{ + return 0; +} + +static inline int rtc_valid_tm(struct rtc_time *tm) +{ + return 0; +} + +static inline time64_t rtc_tm_to_time64(struct rtc_time *tm) +{ + time64_t ret; + + memset(&ret, 0, sizeof(time64_t)); + return ret; +} + +static inline void rtc_time64_to_tm(time64_t time, struct rtc_time *tm) +{ +} + +static inline ktime_t rtc_tm_to_ktime(struct rtc_time tm) +{ + ktime_t ret; + + memset(&ret, 0, sizeof(ktime_t)); + return ret; +} + +static inline struct rtc_time rtc_ktime_to_tm(ktime_t kt) +{ + struct rtc_time ret; + + memset(&ret, 0, sizeof(struct rtc_time)); + return ret; +} +#endif /* * rtc_tm_sub - Return the difference in seconds.
Add some dummy static inline functions in case CONFIG_RTC_LIB is not defined. Signed-off-by: Baolin Wang <baolin.wang@linaro.org> Fixes: a0a6e06d545a ("time: alarmtimer: Add tracepoints for alarmtimers") --- include/linux/rtc.h | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) -- 1.7.9.5