lkml.org 
[lkml]   [2017]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] pinctrl: intel: Initialize GPIO properly when used through irqchip
On Mon, Nov 20, 2017 at 4:19 PM, Mika Westerberg
<mika.westerberg@linux.intel.com> 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.
>
> Reported-by: Daniel Drake <drake@endlessm.com>
> Reported-by: Chris Chiu <chiu@endlessm.com>
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Should this have a Fixes:?

Should this have a Cc: stable@vger.kernel.org?

> Chris, Daniel,
>
> Could you check that this still solves the issue and maybe provide your
> Tested-by? Thanks!

Pls pick up Tested-by's when resending.

> +static void __intel_gpio_init_gpio(void __iomem *padcfg0)

I just don't like __underscore_means_inner_function() I
strongly prefer function_has_a_proper_name() so please
come up with something that describes what it is really doing
and name it like that.

With that fixes, I'll apply it pronto.

Yours,
Linus Walleij

\
 
 \ /
  Last update: 2017-11-29 13:40    [W:0.056 / U:2.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site