diff options
Diffstat (limited to 'drivers/rtc/rtc-wm831x.c')
| -rw-r--r-- | drivers/rtc/rtc-wm831x.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/rtc/rtc-wm831x.c b/drivers/rtc/rtc-wm831x.c index 000c7e481e59..82931dc65c0b 100644 --- a/drivers/rtc/rtc-wm831x.c +++ b/drivers/rtc/rtc-wm831x.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
| 17 | #include <linux/time.h> | 17 | #include <linux/time.h> |
| 18 | #include <linux/rtc.h> | 18 | #include <linux/rtc.h> |
| 19 | #include <linux/slab.h> | ||
| 19 | #include <linux/bcd.h> | 20 | #include <linux/bcd.h> |
| 20 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
| 21 | #include <linux/ioctl.h> | 22 | #include <linux/ioctl.h> |
| @@ -448,17 +449,17 @@ static int wm831x_rtc_probe(struct platform_device *pdev) | |||
| 448 | goto err; | 449 | goto err; |
| 449 | } | 450 | } |
| 450 | 451 | ||
| 451 | ret = wm831x_request_irq(wm831x, per_irq, wm831x_per_irq, | 452 | ret = request_threaded_irq(per_irq, NULL, wm831x_per_irq, |
| 452 | IRQF_TRIGGER_RISING, "wm831x_rtc_per", | 453 | IRQF_TRIGGER_RISING, "RTC period", |
| 453 | wm831x_rtc); | 454 | wm831x_rtc); |
| 454 | if (ret != 0) { | 455 | if (ret != 0) { |
| 455 | dev_err(&pdev->dev, "Failed to request periodic IRQ %d: %d\n", | 456 | dev_err(&pdev->dev, "Failed to request periodic IRQ %d: %d\n", |
| 456 | per_irq, ret); | 457 | per_irq, ret); |
| 457 | } | 458 | } |
| 458 | 459 | ||
| 459 | ret = wm831x_request_irq(wm831x, alm_irq, wm831x_alm_irq, | 460 | ret = request_threaded_irq(alm_irq, NULL, wm831x_alm_irq, |
| 460 | IRQF_TRIGGER_RISING, "wm831x_rtc_alm", | 461 | IRQF_TRIGGER_RISING, "RTC alarm", |
| 461 | wm831x_rtc); | 462 | wm831x_rtc); |
| 462 | if (ret != 0) { | 463 | if (ret != 0) { |
| 463 | dev_err(&pdev->dev, "Failed to request alarm IRQ %d: %d\n", | 464 | dev_err(&pdev->dev, "Failed to request alarm IRQ %d: %d\n", |
| 464 | alm_irq, ret); | 465 | alm_irq, ret); |
| @@ -477,8 +478,8 @@ static int __devexit wm831x_rtc_remove(struct platform_device *pdev) | |||
| 477 | int per_irq = platform_get_irq_byname(pdev, "PER"); | 478 | int per_irq = platform_get_irq_byname(pdev, "PER"); |
| 478 | int alm_irq = platform_get_irq_byname(pdev, "ALM"); | 479 | int alm_irq = platform_get_irq_byname(pdev, "ALM"); |
| 479 | 480 | ||
| 480 | wm831x_free_irq(wm831x_rtc->wm831x, alm_irq, wm831x_rtc); | 481 | free_irq(alm_irq, wm831x_rtc); |
| 481 | wm831x_free_irq(wm831x_rtc->wm831x, per_irq, wm831x_rtc); | 482 | free_irq(per_irq, wm831x_rtc); |
| 482 | rtc_device_unregister(wm831x_rtc->rtc); | 483 | rtc_device_unregister(wm831x_rtc->rtc); |
| 483 | kfree(wm831x_rtc); | 484 | kfree(wm831x_rtc); |
| 484 | 485 | ||
