diff options
author | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2019-04-09 12:16:28 +0200 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2019-04-12 12:23:20 +0200 |
commit | ba4a84f5ab6ef91394d745812131a443514f4a99 (patch) | |
tree | a777b6dc94f6d929f8b54895a227ae2e5faaeaf6 /drivers/rtc/rtc-lpc32xx.c | |
parent | 3a13426908a387555bdfa84c6be3147a2cd31375 (diff) | |
download | linux-ba4a84f5ab6ef91394d745812131a443514f4a99.tar.bz2 |
rtc: lpc32xx: simplify IRQ setup
Move the optional IRQ setup to a single location.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'drivers/rtc/rtc-lpc32xx.c')
-rw-r--r-- | drivers/rtc/rtc-lpc32xx.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/rtc/rtc-lpc32xx.c b/drivers/rtc/rtc-lpc32xx.c index f9e899fc4889..652b969158d4 100644 --- a/drivers/rtc/rtc-lpc32xx.c +++ b/drivers/rtc/rtc-lpc32xx.c @@ -199,21 +199,13 @@ static int lpc32xx_rtc_probe(struct platform_device *pdev) { struct resource *res; struct lpc32xx_rtc *rtc; - int rtcirq, err; + int err; u32 tmp; - rtcirq = platform_get_irq(pdev, 0); - if (rtcirq < 0) { - dev_warn(&pdev->dev, "Can't get interrupt resource\n"); - rtcirq = -1; - } - rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL); if (unlikely(!rtc)) return -ENOMEM; - rtc->irq = rtcirq; - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); rtc->rtc_base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(rtc->rtc_base)) @@ -269,7 +261,10 @@ static int lpc32xx_rtc_probe(struct platform_device *pdev) * IRQ is enabled after device registration in case alarm IRQ * is pending upon suspend exit. */ - if (rtc->irq >= 0) { + rtc->irq = platform_get_irq(pdev, 0); + if (rtc->irq < 0) { + dev_warn(&pdev->dev, "Can't get interrupt resource\n"); + } else { if (devm_request_irq(&pdev->dev, rtc->irq, lpc32xx_rtc_alarm_interrupt, 0, pdev->name, rtc) < 0) { |