aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/class.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2015-07-23 19:01:08 -0400
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>2015-09-05 07:19:07 -0400
commit3ee2c40b7ac2bf121aaa1176d8ac25b6a26e3a94 (patch)
treeefe5e8ee4667aa49c34f1ef2653067206297f2da /drivers/rtc/class.c
parenta17ccd1c6a327e5b468358e8352a6af004261473 (diff)
rtc: switch to using is_visible() to control sysfs attributes
Instead of creating wakealarm attribute manually, after the device has been registered, let's rely on facilities provided by the attribute groups to control which attributes are visible and which are not. This allows to create all needed attributes at once, at the same time that we register RTC class device. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Diffstat (limited to 'drivers/rtc/class.c')
-rw-r--r--drivers/rtc/class.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/rtc/class.c b/drivers/rtc/class.c
index de7707f7e766..de86578bcd6d 100644
--- a/drivers/rtc/class.c
+++ b/drivers/rtc/class.c
@@ -202,6 +202,7 @@ struct rtc_device *rtc_device_register(const char *name, struct device *dev,
202 rtc->max_user_freq = 64; 202 rtc->max_user_freq = 64;
203 rtc->dev.parent = dev; 203 rtc->dev.parent = dev;
204 rtc->dev.class = rtc_class; 204 rtc->dev.class = rtc_class;
205 rtc->dev.groups = rtc_get_dev_attribute_groups();
205 rtc->dev.release = rtc_device_release; 206 rtc->dev.release = rtc_device_release;
206 207
207 mutex_init(&rtc->ops_lock); 208 mutex_init(&rtc->ops_lock);
@@ -240,7 +241,6 @@ struct rtc_device *rtc_device_register(const char *name, struct device *dev,
240 } 241 }
241 242
242 rtc_dev_add_device(rtc); 243 rtc_dev_add_device(rtc);
243 rtc_sysfs_add_device(rtc);
244 rtc_proc_add_device(rtc); 244 rtc_proc_add_device(rtc);
245 245
246 dev_info(dev, "rtc core: registered %s as %s\n", 246 dev_info(dev, "rtc core: registered %s as %s\n",
@@ -271,7 +271,6 @@ void rtc_device_unregister(struct rtc_device *rtc)
271 * Remove innards of this RTC, then disable it, before 271 * Remove innards of this RTC, then disable it, before
272 * letting any rtc_class_open() users access it again 272 * letting any rtc_class_open() users access it again
273 */ 273 */
274 rtc_sysfs_del_device(rtc);
275 rtc_dev_del_device(rtc); 274 rtc_dev_del_device(rtc);
276 rtc_proc_del_device(rtc); 275 rtc_proc_del_device(rtc);
277 device_del(&rtc->dev); 276 device_del(&rtc->dev);
@@ -360,7 +359,6 @@ static int __init rtc_init(void)
360 } 359 }
361 rtc_class->pm = RTC_CLASS_DEV_PM_OPS; 360 rtc_class->pm = RTC_CLASS_DEV_PM_OPS;
362 rtc_dev_init(); 361 rtc_dev_init();
363 rtc_sysfs_init(rtc_class);
364 return 0; 362 return 0;
365} 363}
366 364