On Wed, Nov 29, 2017 at 2:25 PM, Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > When a GPIO is requested using gpiod_get_* APIs the intel pinctrl driver > switches the pin to GPIO mode and makes sure interrupts are routed to > the GPIO hardware instead of IOAPIC. However, if the GPIO is used > directly through irqchip, as is the case with many I2C-HID devices where > I2C core automatically configures interrupt for the device, the pin is > not initialized as GPIO. Instead we rely that the BIOS configures the > pin accordingly which seems not to be the case at least in Asus X540NA > SKU3 with Focaltech touchpad. > > When the pin is not properly configured it might result weird behaviour > like interrupts suddenly stop firing completely and the touchpad stops > responding to user input. > > Fix this by properly initializing the pin to GPIO mode also when it is > used directly through irqchip. > > Fixes: 7981c0015af2 ("pinctrl: intel: Add Intel Sunrisepoint pin controller and GPIO support") > Reported-by: Daniel Drake <drake@xxxxxxxxxxxx> > Reported-and-tested-by: Chris Chiu <chiu@xxxxxxxxxxxx> > Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > --- > Changes from v1: > > * Renamed __intel_gpio_init_gpio() to intel_gpio_set_gpio_mode() > * Added Fixes: and Cc stable@xxxxxxxxxxxxxxx > * Added Tested-by from Chris Chiu Patch applied. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html