mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-12 15:44:01 +08:00
gpio: xlp: Fix vulcan IRQ descriptor allocation
irq_alloc_descs need not be called in case of Vulcan, where we use a dynamic IRQ range for GPIO interrupt numbers. Update code not to call irq_alloc_descs and pass 0 as irq_base in case of Vulcan. Signed-off-by: Kamlakant Patel <kamlakant.patel@broadcom.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
1bdb5c8e03
commit
1630a0624a
@ -388,14 +388,16 @@ static int xlp_gpio_probe(struct platform_device *pdev)
|
|||||||
gc->get = xlp_gpio_get;
|
gc->get = xlp_gpio_get;
|
||||||
|
|
||||||
spin_lock_init(&priv->lock);
|
spin_lock_init(&priv->lock);
|
||||||
/* XLP has fixed IRQ range for GPIO interrupts */
|
|
||||||
if (soc_type == GPIO_VARIANT_VULCAN)
|
/* XLP(MIPS) has fixed range for GPIO IRQs, Vulcan(ARM64) does not */
|
||||||
irq_base = irq_alloc_descs(-1, 0, gc->ngpio, 0);
|
if (soc_type != GPIO_VARIANT_VULCAN) {
|
||||||
else
|
|
||||||
irq_base = irq_alloc_descs(-1, XLP_GPIO_IRQ_BASE, gc->ngpio, 0);
|
irq_base = irq_alloc_descs(-1, XLP_GPIO_IRQ_BASE, gc->ngpio, 0);
|
||||||
if (irq_base < 0) {
|
if (irq_base < 0) {
|
||||||
dev_err(&pdev->dev, "Failed to allocate IRQ numbers\n");
|
dev_err(&pdev->dev, "Failed to allocate IRQ numbers\n");
|
||||||
return irq_base;
|
return irq_base;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
irq_base = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = gpiochip_add_data(gc, priv);
|
err = gpiochip_add_data(gc, priv);
|
||||||
|
Loading…
Reference in New Issue
Block a user