All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/8] gpio: acpi: Make it working
@ 2017-03-23 19:46 Andy Shevchenko
  2017-03-23 19:46 ` [PATCH v1 1/8] gpiolib: Export gpiod_configure_flags() to internal users Andy Shevchenko
                   ` (10 more replies)
  0 siblings, 11 replies; 27+ messages in thread
From: Andy Shevchenko @ 2017-03-23 19:46 UTC (permalink / raw)
  To: Linus Walleij, Alexandre Courbot, linux-gpio, Dmitry Torokhov,
	Hans de Goede, linux-kernel, Mika Westerberg, Jarkko Nikula,
	linux-acpi
  Cc: Andy Shevchenko

Currently GPIO ACPI library provides an API to get a GPIO resources
(IO or interrupt) from ACPI tables for the individual drivers.

This library has few flaws which makes some devices not working:
 - the library allows to abuse ACPI by using a _CRS fallback mechanism
 - the library neglects flags of the resource

In this series:
 - the _CRS fallback is forbidden
 - the pin configuration follows what firmware wants to
 - the documentation is updated in order to clarify corner cases

After this series it's possible to use GPIO pins for input (interrupt)
which were configured as output by BIOS by some reason. It's a crucial
functionality for IoT open connected boards where user may choose any of
available pin for almost any of available function, including GPIO input
(interrupt).

Current bad behaviour was first reported by Jarkko Nikula few months ago.

Andy Shevchenko (8):
  gpiolib: Export gpiod_configure_flags() to internal users
  gpio: acpi: Align acpi_find_gpio() with DT version
  gpio: acpi: Do sanity check for GpioInt in acpi_find_gpio()
  gpio: acpi: Even more tighten up ACPI GPIO lookups
  gpio: acpi: Synchronize acpi_find_gpio() and acpi_gpio_count()
  gpio: acpi: Explain how to get GPIO descriptors in ACPI case
  gpio: acpi: Factor out acpi_gpio_to_gpiod_flags() helper
  gpio: acpi: Override GPIO initialization flags

 Documentation/acpi/gpio-properties.txt |  60 ++++++++++++
 drivers/gpio/gpiolib-acpi.c            | 162 +++++++++++++++++++--------------
 drivers/gpio/gpiolib.c                 |  10 +-
 drivers/gpio/gpiolib.h                 |  17 +++-
 4 files changed, 176 insertions(+), 73 deletions(-)

-- 
2.11.0

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2017-04-04 18:21 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-23 19:46 [PATCH v1 0/8] gpio: acpi: Make it working Andy Shevchenko
2017-03-23 19:46 ` [PATCH v1 1/8] gpiolib: Export gpiod_configure_flags() to internal users Andy Shevchenko
2017-03-23 19:46 ` [PATCH v1 2/8] gpio: acpi: Align acpi_find_gpio() with DT version Andy Shevchenko
2017-03-23 20:13   ` Dmitry Torokhov
2017-03-23 19:46 ` [PATCH v1 3/8] gpio: acpi: Do sanity check for GpioInt in acpi_find_gpio() Andy Shevchenko
2017-03-23 20:19   ` Dmitry Torokhov
2017-03-23 19:46 ` [PATCH v1 4/8] gpio: acpi: Even more tighten up ACPI GPIO lookups Andy Shevchenko
2017-03-23 20:12   ` Dmitry Torokhov
2017-03-24 10:46     ` Bastien Nocera
2017-03-28 16:31     ` Andy Shevchenko
2017-03-29  7:04       ` Dmitry Torokhov
2017-03-23 19:46 ` [PATCH v1 5/8] gpio: acpi: Synchronize acpi_find_gpio() and acpi_gpio_count() Andy Shevchenko
2017-03-24 15:55   ` Mika Westerberg
2017-03-23 19:46 ` [PATCH v1 6/8] gpio: acpi: Explain how to get GPIO descriptors in ACPI case Andy Shevchenko
2017-03-23 20:28   ` Dmitry Torokhov
2017-03-28 16:39     ` Andy Shevchenko
2017-03-29  7:12       ` Dmitry Torokhov
2017-03-29 15:04         ` Andy Shevchenko
2017-04-04 16:11           ` Andy Shevchenko
2017-04-04 17:31             ` Dmitry Torokhov
2017-04-04 17:59               ` Andy Shevchenko
2017-04-04 18:21                 ` Dmitry Torokhov
2017-03-23 19:46 ` [PATCH v1 7/8] gpio: acpi: Factor out acpi_gpio_to_gpiod_flags() helper Andy Shevchenko
2017-03-23 19:46 ` [PATCH v1 8/8] gpio: acpi: Override GPIO initialization flags Andy Shevchenko
2017-03-24 13:48 ` [PATCH v1 0/8] gpio: acpi: Make it working Jarkko Nikula
2017-03-24 16:01 ` Mika Westerberg
2017-03-28 13:24 ` Linus Walleij

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.