diff options
Diffstat (limited to 'drivers/rtc/rtc-wm831x.c')
-rw-r--r-- | drivers/rtc/rtc-wm831x.c | 4 |
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 | ||
436 | err: | 436 | err: |
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 | } |