Commit 529af7d1 authored by Vladimir Zapolskiy's avatar Vladimir Zapolskiy Committed by Alexandre Belloni

rtc: lpc32xx: remove irq > NR_IRQS check from probe()

If the driver is used on an ARM platform with SPARSE_IRQ defined,
semantics of NR_IRQS is different (minimal value of virtual irqs)
and by default it is set to 16, see arch/arm/include/asm/irq.h.

This value may be less than the actual number of virtual irqs, which
may break the driver initialization. The check removal allows to use
the driver on such a platform, and, if irq controller driver works
correctly, the check is not needed on legacy platforms.

Fixes a runtime problem:

  rtc-lpc32xx 40024000.rtc: Can't get interrupt resource
Signed-off-by: default avatarVladimir Zapolskiy <vz@mleia.com>
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
parent d5878a86
...@@ -205,7 +205,7 @@ static int lpc32xx_rtc_probe(struct platform_device *pdev) ...@@ -205,7 +205,7 @@ static int lpc32xx_rtc_probe(struct platform_device *pdev)
u32 tmp; u32 tmp;
rtcirq = platform_get_irq(pdev, 0); rtcirq = platform_get_irq(pdev, 0);
if (rtcirq < 0 || rtcirq >= NR_IRQS) { if (rtcirq < 0) {
dev_warn(&pdev->dev, "Can't get interrupt resource\n"); dev_warn(&pdev->dev, "Can't get interrupt resource\n");
rtcirq = -1; rtcirq = -1;
} }
......
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