On Tue, Dec 15, 2015 at 08:11:33AM +0100, Christophe Ricard wrote: > spi->irq was ignoring GpioInt property setting it to -1. > acpi_dev_gpio_irq_get returns and configure the slave irq according to > the acpi slave node description. > It is now inline with devicetree behavior. > > Signed-off-by: Christophe Ricard <christophe-h.ric...@st.com> > --- > drivers/spi/spi.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c > index 2b0a8ec..6e5d1f7 100644 > --- a/drivers/spi/spi.c > +++ b/drivers/spi/spi.c > @@ -1583,6 +1583,8 @@ static int acpi_spi_add_resource(struct acpi_resource > *ares, void *data) > > if (acpi_dev_resource_interrupt(ares, 0, &r)) > spi->irq = r.start; > + else > + spi->irq = > acpi_dev_gpio_irq_get(ACPI_COMPANION(&spi->dev), 0);
This still does not work as expected if the device has other resources in _CRS. Instead of this, you should do something like below which only uses GPIO when we are sure no Interrupt() resource was found. acpi_spi_add_device() { ... acpi_dev_get_resources() ... if (spi->irq < 0) spi->irq = acpi_dev_gpio_irq_get(adev, 0); -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html