GNU Linux-libre 4.19.286-gnu1
[releases.git] / drivers / rtc / rtc-core.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifdef CONFIG_RTC_INTF_DEV
3
4 extern void __init rtc_dev_init(void);
5 extern void __exit rtc_dev_exit(void);
6 extern void rtc_dev_prepare(struct rtc_device *rtc);
7
8 #else
9
10 static inline void rtc_dev_init(void)
11 {
12 }
13
14 static inline void rtc_dev_exit(void)
15 {
16 }
17
18 static inline void rtc_dev_prepare(struct rtc_device *rtc)
19 {
20 }
21
22 #endif
23
24 #ifdef CONFIG_RTC_INTF_PROC
25
26 extern void rtc_proc_add_device(struct rtc_device *rtc);
27 extern void rtc_proc_del_device(struct rtc_device *rtc);
28
29 #else
30
31 static inline void rtc_proc_add_device(struct rtc_device *rtc)
32 {
33 }
34
35 static inline void rtc_proc_del_device(struct rtc_device *rtc)
36 {
37 }
38
39 #endif
40
41 #ifdef CONFIG_RTC_INTF_SYSFS
42 const struct attribute_group **rtc_get_dev_attribute_groups(void);
43 int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp);
44 int rtc_add_groups(struct rtc_device *rtc, const struct attribute_group **grps);
45 #else
46 static inline const struct attribute_group **rtc_get_dev_attribute_groups(void)
47 {
48         return NULL;
49 }
50
51 static inline
52 int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp)
53 {
54         return 0;
55 }
56
57 static inline
58 int rtc_add_groups(struct rtc_device *rtc, const struct attribute_group **grps)
59 {
60         return 0;
61 }
62 #endif