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: Vladimir Zapolskiy <vz@mleia.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
This commit is contained in:
parent
d5878a869f
commit
529af7d198
|
@ -205,7 +205,7 @@ static int lpc32xx_rtc_probe(struct platform_device *pdev)
|
|||
u32 tmp;
|
||||
|
||||
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");
|
||||
rtcirq = -1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue