Re: [PATCH v4] pch_gpio: Support interrupt function
From: Tomoya MORINAGA
Date: Mon Jul 04 2011 - 23:58:53 EST
Hi Grant,
(2011/07/05 1:31), Grant Likely wrote:
+#define PCH_IRQ_BASE 23
Yikes! IRQ ranges should really be dynamically assigned. Don't hard
code an irq base.
As we discussed before,
without specifying PCH_IRQ_BASE,
it seemed IRQ number collision issue occurred.
Thus, I added PCH_IRQ_BASE.
@@ -202,8 +345,36 @@ static int __devinit pch_gpio_probe(struct pci_dev *pdev,
goto err_gpiochip_add;
}
+ irq_base = irq_alloc_descs(-1, PCH_IRQ_BASE, GPIO_NUM_PINS, GFP_KERNEL);
+ if (irq_base< 0) {
+ dev_err(&pdev->dev, "PCH gpio: Failed to get IRQ base num\n");
+ goto err_irq_alloc_descs;
+ }
+ chip->irq_base = irq_base;
This looks like it will cause the driver probe to completely fail,
even if the GPIO portion of the chip was setup correctly. I would
think that if GPIO works the driver should at least enable that bit
even if IRQs are broken.
Do you mean in case of failing irq_alloc_descs,
probe() shouldn't return ERROR but SUCCESS. Right ?
--
tomoya
OKI SEMICONDUCTOR CO., LTD.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/