aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-wm831x.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/rtc/rtc-wm831x.c')
-rw-r--r--drivers/rtc/rtc-wm831x.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/rtc/rtc-wm831x.c b/drivers/rtc/rtc-wm831x.c
index dabbd456dfe1..657c6f67b287 100644
--- a/drivers/rtc/rtc-wm831x.c
+++ b/drivers/rtc/rtc-wm831x.c
@@ -399,7 +399,7 @@ static int wm831x_rtc_probe(struct platform_device *pdev)
399 int alm_irq = platform_get_irq_byname(pdev, "ALM"); 399 int alm_irq = platform_get_irq_byname(pdev, "ALM");
400 int ret = 0; 400 int ret = 0;
401 401
402 wm831x_rtc = kzalloc(sizeof(*wm831x_rtc), GFP_KERNEL); 402 wm831x_rtc = devm_kzalloc(&pdev->dev, sizeof(*wm831x_rtc), GFP_KERNEL);
403 if (wm831x_rtc == NULL) 403 if (wm831x_rtc == NULL)
404 return -ENOMEM; 404 return -ENOMEM;
405 405
@@ -434,7 +434,6 @@ static int wm831x_rtc_probe(struct platform_device *pdev)
434 return 0; 434 return 0;
435 435
436err: 436err:
437 kfree(wm831x_rtc);
438 return ret; 437 return ret;
439} 438}
440 439
@@ -445,7 +444,6 @@ static int __devexit wm831x_rtc_remove(struct platform_device *pdev)
445 444
446 free_irq(alm_irq, wm831x_rtc); 445 free_irq(alm_irq, wm831x_rtc);
447 rtc_device_unregister(wm831x_rtc->rtc); 446 rtc_device_unregister(wm831x_rtc->rtc);
448 kfree(wm831x_rtc);
449 447
450 return 0; 448 return 0;
451} 449}