]> git.baikalelectronics.ru Git - kernel.git/commit
pinctrl: intel: Avoid potential glitches if pin is in GPIO mode
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 14 Oct 2019 09:51:04 +0000 (12:51 +0300)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 21 Oct 2019 12:41:19 +0000 (15:41 +0300)
commite2947927a1e67cdf9cc4ac0299bc19f7adc76209
tree5cff6bbddd0a60609cfcb3e69ecb6b069a7cb940
parentf39aefa46119d19f41693926578b1bd67b4fcd05
pinctrl: intel: Avoid potential glitches if pin is in GPIO mode

When consumer requests a pin, in order to be on the safest side,
we switch it first to GPIO mode followed by immediate transition
to the input state. Due to posted writes it's luckily to be a single
I/O transaction.

However, if firmware or boot loader already configures the pin
to the GPIO mode, user expects no glitches for the requested pin.
We may check if the pin is pre-configured and leave it as is
till the actual consumer toggles its state to avoid glitches.

Fixes: 303a3961afcd ("pinctrl: intel: Add Intel Sunrisepoint pin controller and GPIO support")
Depends-on: 0856b7078687 ("pinctrl: intel: Initialize GPIO properly when used through irqchip")
Cc: stable@vger.kernel.org
Cc: fei.yang@intel.com
Reported-by: Oliver Barta <oliver.barta@aptiv.com>
Reported-by: Malin Jonsson <malin.jonsson@ericsson.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/pinctrl/intel/pinctrl-intel.c