rtc: rtc-max8997: use devm_request_threaded_irq()
Use devm_request_threaded_irq() to make cleanup paths more simple.
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>
diff --git a/drivers/rtc/rtc-max8997.c b/drivers/rtc/rtc-max8997.c
index a4e7079..00e505b 100644
--- a/drivers/rtc/rtc-max8997.c
+++ b/drivers/rtc/rtc-max8997.c
@@ -495,7 +495,8 @@
}
info->virq = virq;
- ret = request_threaded_irq(virq, NULL, max8997_rtc_alarm_irq, 0,
+ ret = devm_request_threaded_irq(&pdev->dev, virq, NULL,
+ max8997_rtc_alarm_irq, 0,
"rtc-alarm0", info);
if (ret < 0) {
dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n",
@@ -514,10 +515,8 @@
{
struct max8997_rtc_info *info = platform_get_drvdata(pdev);
- if (info) {
- free_irq(info->virq, info);
+ if (info)
rtc_device_unregister(info->rtc_dev);
- }
return 0;
}