On Tue, Mar 24, 2015 at 4:06 PM, Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > This has few problems that I have not yet figured out. Maybe someone > here can suggest what to do: > > 1) Who is responsible in releasing the GPIO? > 2) What if the driver wants to use that pin as a GPIO instead? The GPIO > is already requested by the I2C core. In the DT usecase we actually specify that in the DTS file so we don't have the problem. Either the consumer accesses the irqchip API with: interrupts = <nn nn>; or it accesses the GPIO API with: gpios = <nn nn>; so in that sense it is clear what is requested. Then the core of course uses gpiochip_lock/unlock_as_irq() to handle the case where bugs make a collision (like if both were specified and both APIs tries to access the same resource). But as long as the DTS file is consistent there is no problem. So it seems the ACPI tables are lacking this semantic information? Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html