diff options
author | Denis Osterland <Denis.Osterland@diehl.com> | 2018-07-24 14:31:22 +0300 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2018-08-14 23:56:27 +0300 |
commit | a0a1a1ba303261d25814d11a05008d2931a69a8b (patch) | |
tree | bad29fcf1b32aa3ff90241f8f588f7eef3dfdfa0 /drivers/rtc/rtc-core.h | |
parent | 5a5ba10f44fa1cd081cec38389e1b47f438fe25b (diff) | |
download | linux-a0a1a1ba303261d25814d11a05008d2931a69a8b.tar.xz |
rtc: sysfs: facilitate attribute add to rtc device
This patches addresses following problem:
rtc_allocate_device
devm_device_add_group <-- kernel oops / null pointer, because
sysfs entry does not yet exist
rtc_register_device
rc = devm_device_add_group
if (rc)
return rc; <-- forbidden to return error code
after device register
This patch adds rtc_add_group(s) functions.
The functions store the sum of attribute groups as device resource.
Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'drivers/rtc/rtc-core.h')
-rw-r--r-- | drivers/rtc/rtc-core.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/rtc/rtc-core.h b/drivers/rtc/rtc-core.h index 0abf98983e13..ccc17a2e293d 100644 --- a/drivers/rtc/rtc-core.h +++ b/drivers/rtc/rtc-core.h @@ -40,9 +40,23 @@ static inline void rtc_proc_del_device(struct rtc_device *rtc) #ifdef CONFIG_RTC_INTF_SYSFS const struct attribute_group **rtc_get_dev_attribute_groups(void); +int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp); +int rtc_add_groups(struct rtc_device *rtc, const struct attribute_group **grps); #else static inline const struct attribute_group **rtc_get_dev_attribute_groups(void) { return NULL; } + +static inline +int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp) +{ + return 0; +} + +static inline +int rtc_add_groups(struct rtc_device *rtc, const struct attribute_group **grps) +{ + return 0; +} #endif |