Commit ba4a84f5 authored by Alexandre Belloni's avatar Alexandre Belloni

rtc: lpc32xx: simplify IRQ setup

Move the optional IRQ setup to a single location.
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 3a134269
...@@ -199,21 +199,13 @@ static int lpc32xx_rtc_probe(struct platform_device *pdev) ...@@ -199,21 +199,13 @@ static int lpc32xx_rtc_probe(struct platform_device *pdev)
{ {
struct resource *res; struct resource *res;
struct lpc32xx_rtc *rtc; struct lpc32xx_rtc *rtc;
int rtcirq, err; int err;
u32 tmp; 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); rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
if (unlikely(!rtc)) if (unlikely(!rtc))
return -ENOMEM; return -ENOMEM;
rtc->irq = rtcirq;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
rtc->rtc_base = devm_ioremap_resource(&pdev->dev, res); rtc->rtc_base = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(rtc->rtc_base)) if (IS_ERR(rtc->rtc_base))
...@@ -269,7 +261,10 @@ static int lpc32xx_rtc_probe(struct platform_device *pdev) ...@@ -269,7 +261,10 @@ static int lpc32xx_rtc_probe(struct platform_device *pdev)
* IRQ is enabled after device registration in case alarm IRQ * IRQ is enabled after device registration in case alarm IRQ
* is pending upon suspend exit. * 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, if (devm_request_irq(&pdev->dev, rtc->irq,
lpc32xx_rtc_alarm_interrupt, lpc32xx_rtc_alarm_interrupt,
0, pdev->name, rtc) < 0) { 0, pdev->name, rtc) < 0) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment