rtc: hid-sensor-time: use devm_rtc_device_register()
authorJingoo Han <jg1.han@samsung.com>
Mon, 29 Apr 2013 23:19:38 +0000 (16:19 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 30 Apr 2013 01:28:30 +0000 (18:28 -0700)
devm_rtc_device_register() is device managed and makes cleanup paths
simpler.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rtc/rtc-hid-sensor-time.c

index 31c5728..6302450 100644 (file)
@@ -255,8 +255,9 @@ static int hid_time_probe(struct platform_device *pdev)
                return ret;
        }
 
-       time_state->rtc = rtc_device_register("hid-sensor-time",
-                               &pdev->dev, &hid_time_rtc_ops, THIS_MODULE);
+       time_state->rtc = devm_rtc_device_register(&pdev->dev,
+                                       "hid-sensor-time", &hid_time_rtc_ops,
+                                       THIS_MODULE);
 
        if (IS_ERR(time_state->rtc)) {
                dev_err(&pdev->dev, "rtc device register failed!\n");
@@ -269,9 +270,7 @@ static int hid_time_probe(struct platform_device *pdev)
 static int hid_time_remove(struct platform_device *pdev)
 {
        struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data;
-       struct hid_time_state *time_state = platform_get_drvdata(pdev);
 
-       rtc_device_unregister(time_state->rtc);
        sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_TIME);
 
        return 0;