Hi, ACPI probing method does not retrieve irq_type from a gpio interrupt declared with GpioInt as it is done with devicetree probing. In other terms, irq_get_trigger_type will always send back 0. Those 3 patches propose a way to retrieve the correct interrupt polarity/type from a GpioInt acpi declaration when using irq_get_trigger_type. Since v4 after Mika and Andy's feedbacks: - acpi_gpio_info active_low field got renamed polarity. Note that polarity/active_low is having sense also when a gpio is not mapped as an interrupt but as an output (For example: check gpiod_set_value in drivers/gpio/gpiolib.c). - acpi_gsi_get_irq_type is now renamed acpi_dev_get_irq_type and moved to drivers/acpi/resource.c - The irq described in the acpi spi slave node is now set once we fall back to retrieve normal interrupt. Since v5 after Andy's feedbacks: - Make sure we are not using u* type but pure C type for non hardware value. Since v6: - Patches now applies on top of Raphael tree tag linux-next Since v7: - Added "Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>" to patch 1. - Added "Acked-by: Mark Brown <broonie@xxxxxxxxxx>" to patch 3. - Patch 3 got reworked following Mika's feedback. - Patch 2 added few comment in acpi_find_gpio following Mika's feedback. Best Regards Christophe Christophe Ricard (3): acpi: Rename acpi_gsi_get_irq_type to acpi_dev_get_irq_type and export symbol ACPI / gpio: Add irq_type when a gpio is used as an interrupt ACPI / spi: attach gpio irq from acpi description to spi device drivers/acpi/gsi.c | 21 +-------------------- drivers/acpi/resource.c | 26 ++++++++++++++++++++++++++ drivers/gpio/gpiolib-acpi.c | 33 +++++++++++++++++++++++++++------ drivers/gpio/gpiolib.c | 4 ++-- drivers/gpio/gpiolib.h | 3 ++- drivers/spi/spi.c | 3 +++ include/linux/acpi.h | 1 + 7 files changed, 62 insertions(+), 29 deletions(-) -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html