mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-16 04:07:05 +07:00
697e5a47aa
Many RTCs have an on board non volatile storage. It can be battery backed RAM or an EEPROM. Use the nvmem subsystem to export it to both userspace and in-kernel consumers. This stays compatible with the previous (non documented) ABI that was using /sys/class/rtc/rtcx/device/nvram to export that memory. But will warn about the deprecation. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
56 lines
1.1 KiB
C
56 lines
1.1 KiB
C
#ifdef CONFIG_RTC_INTF_DEV
|
|
|
|
extern void __init rtc_dev_init(void);
|
|
extern void __exit rtc_dev_exit(void);
|
|
extern void rtc_dev_prepare(struct rtc_device *rtc);
|
|
|
|
#else
|
|
|
|
static inline void rtc_dev_init(void)
|
|
{
|
|
}
|
|
|
|
static inline void rtc_dev_exit(void)
|
|
{
|
|
}
|
|
|
|
static inline void rtc_dev_prepare(struct rtc_device *rtc)
|
|
{
|
|
}
|
|
|
|
#endif
|
|
|
|
#ifdef CONFIG_RTC_INTF_PROC
|
|
|
|
extern void rtc_proc_add_device(struct rtc_device *rtc);
|
|
extern void rtc_proc_del_device(struct rtc_device *rtc);
|
|
|
|
#else
|
|
|
|
static inline void rtc_proc_add_device(struct rtc_device *rtc)
|
|
{
|
|
}
|
|
|
|
static inline void rtc_proc_del_device(struct rtc_device *rtc)
|
|
{
|
|
}
|
|
|
|
#endif
|
|
|
|
#ifdef CONFIG_RTC_INTF_SYSFS
|
|
const struct attribute_group **rtc_get_dev_attribute_groups(void);
|
|
#else
|
|
static inline const struct attribute_group **rtc_get_dev_attribute_groups(void)
|
|
{
|
|
return NULL;
|
|
}
|
|
#endif
|
|
|
|
#ifdef CONFIG_RTC_NVMEM
|
|
void rtc_nvmem_register(struct rtc_device *rtc);
|
|
void rtc_nvmem_unregister(struct rtc_device *rtc);
|
|
#else
|
|
static inline void rtc_nvmem_register(struct rtc_device *rtc) {}
|
|
static inline void rtc_nvmem_unregister(struct rtc_device *rtc) {}
|
|
#endif
|