From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <bgolaszewski@baylibre.com>,
linux-gpio@vger.kernel.org
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>,
Hans de Goede <hdegoede@redhat.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Jamie McClymont <jamie@kwiius.com>
Subject: [PATCH v5 00/17] gpiolib: acpi: pin configuration fixes
Date: Mon, 9 Nov 2020 22:53:15 +0200 [thread overview]
Message-ID: <20201109205332.19592-1-andriy.shevchenko@linux.intel.com> (raw)
There are fixes (and plenty cleanups) that allow to take into consideration
more parameters in ACPI, i.e. bias for GpioInt() and debounce timeout
for Operation Regions, Events and GpioInt() resources.
During review Hans noted, that gpiod_set_debounce() returns -ENOTSUPP for
the cases when feature is not supported either by driver or a controller.
It appears that we have slightly messy API here:
FUNC Relation with ENOTSUPP
gpiod_set_config() returns if not supported
gpiod_set_debounce() as gpiod_set_config() above
gpio_set_debounce() legacy wrapper on top of gpiod_set_debounce()
gpiod_set_transitory() skips it (returns okay) with debug message
gpio_set_config() returns if not supported
gpio_set_bias() skips it (returns okay)
Last two functions are internal to GPIO library, while the rest is
exported API. In order to be consistent with both naming schemas
the series introduces gpio_set_debounce_timeout() that considers
the feature optional. New API is only for internal use.
While at it, the few first patches do clean up the current GPIO library
code to unify it to some extend.
The above is followed by changes made in ACPI GPIO library part.
The bias patch highly depends on Intel pin control driver changes
(they are material for v5.10 [1]), due to this and amount of the
prerequisite changes this series is probably not supposed to be
backported (at least right now).
The last patch adds Intel GPIO tree as official one for ACPI GPIO
changes.
Assuming [1] makes v5.10 this series can be sent as PR to Linus
for v5.11 cycle.
Note, some patches are also depend to the code from GPIO fixes / for-next
repositories. Unfortunately there is no one repository which contains all
up to date for-next changes against GPIO subsystem. That's why I have merged
Bart's for-current followed by Linus' fixes followed by Bart's for-next
followed by Linus' for-next branches as prerequisites to the series.
Cc: Jamie McClymont <jamie@kwiius.com>
[1]: https://lore.kernel.org/linux-gpio/20201106181938.GA41213@black.fi.intel.com/
Changelog v5:
- introduced gpio_set_debounce_timeout()
- made a prerequisite refactoring in GPIO library code
- updated the rest accordingly
Changelog v4:
- extended debounce setting to ACPI events and Operation Regions
- added Ack (Linus)
- added few more cleanup patches, including MAINTAINERS update
Changelog v3:
- dropped upstreamed OF patch
- added debounce fix
Andy Shevchenko (17):
gpiolib: Replace unsigned by unsigned int
gpiolib: add missed break statement
gpiolib: use proper API to pack pin configuration parameters
gpiolib: Add temporary variable to gpiod_set_transitory() for cleaner
code
gpiolib: Extract gpio_set_config_with_argument() for future use
gpiolib: move bias related code from gpio_set_config() to
gpio_set_bias()
gpiolib: Extract gpio_set_config_with_argument_optional() helper
gpiolib: Extract gpio_set_debounce_timeout() for internal use
gpiolib: acpi: Respect bias settings for GpioInt() resource
gpiolib: acpi: Use named item for enum gpiod_flags variable
gpiolib: acpi: Take into account debounce settings
gpiolib: acpi: Move acpi_gpio_to_gpiod_flags() upper in the code
gpiolib: acpi: Make acpi_gpio_to_gpiod_flags() usable for GpioInt()
gpiolib: acpi: Extract acpi_request_own_gpiod() helper
gpiolib: acpi: Convert pin_index to be u16
gpiolib: acpi: Use BIT() macro to increase readability
gpiolib: acpi: Make Intel GPIO tree official for GPIO ACPI work
MAINTAINERS | 1 +
drivers/gpio/gpiolib-acpi.c | 130 ++++++++++++++++++++--------------
drivers/gpio/gpiolib-acpi.h | 2 +
drivers/gpio/gpiolib.c | 97 ++++++++++++++-----------
drivers/gpio/gpiolib.h | 1 +
include/linux/gpio/consumer.h | 4 +-
6 files changed, 141 insertions(+), 94 deletions(-)
--
2.28.0
next reply other threads:[~2020-11-09 20:53 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-09 20:53 Andy Shevchenko [this message]
2020-11-09 20:53 ` [PATCH v5 01/17] gpiolib: Replace unsigned by unsigned int Andy Shevchenko
2020-11-11 15:17 ` Mika Westerberg
2020-11-09 20:53 ` [PATCH v5 02/17] gpiolib: add missed break statement Andy Shevchenko
2020-11-11 15:18 ` Mika Westerberg
2020-11-09 20:53 ` [PATCH v5 03/17] gpiolib: use proper API to pack pin configuration parameters Andy Shevchenko
2020-11-11 15:23 ` Mika Westerberg
2020-11-09 20:53 ` [PATCH v5 04/17] gpiolib: Add temporary variable to gpiod_set_transitory() for cleaner code Andy Shevchenko
2020-11-11 15:32 ` Mika Westerberg
2020-11-11 15:40 ` Andy Shevchenko
2020-11-11 19:24 ` Andy Shevchenko
2020-11-09 20:53 ` [PATCH v5 05/17] gpiolib: Extract gpio_set_config_with_argument() for future use Andy Shevchenko
2020-11-11 15:33 ` Mika Westerberg
2020-11-09 20:53 ` [PATCH v5 06/17] gpiolib: move bias related code from gpio_set_config() to gpio_set_bias() Andy Shevchenko
2020-11-11 15:33 ` Mika Westerberg
2020-11-09 20:53 ` [PATCH v5 07/17] gpiolib: Extract gpio_set_config_with_argument_optional() helper Andy Shevchenko
2020-11-11 15:35 ` Mika Westerberg
2020-11-11 15:42 ` Andy Shevchenko
2020-11-09 20:53 ` [PATCH v5 08/17] gpiolib: Extract gpio_set_debounce_timeout() for internal use Andy Shevchenko
2020-11-11 15:39 ` Mika Westerberg
2020-11-11 15:46 ` Andy Shevchenko
2020-11-11 15:52 ` Mika Westerberg
2020-11-11 16:15 ` Andy Shevchenko
2020-11-09 20:53 ` [PATCH v5 09/17] gpiolib: acpi: Respect bias settings for GpioInt() resource Andy Shevchenko
2020-11-09 20:53 ` [PATCH v5 10/17] gpiolib: acpi: Use named item for enum gpiod_flags variable Andy Shevchenko
2020-11-09 20:53 ` [PATCH v5 11/17] gpiolib: acpi: Take into account debounce settings Andy Shevchenko
2020-11-11 15:41 ` Mika Westerberg
2020-11-09 20:53 ` [PATCH v5 12/17] gpiolib: acpi: Move acpi_gpio_to_gpiod_flags() upper in the code Andy Shevchenko
2020-11-11 15:49 ` Mika Westerberg
2020-11-09 20:53 ` [PATCH v5 13/17] gpiolib: acpi: Make acpi_gpio_to_gpiod_flags() usable for GpioInt() Andy Shevchenko
2020-11-11 15:50 ` Mika Westerberg
2020-11-09 20:53 ` [PATCH v5 14/17] gpiolib: acpi: Extract acpi_request_own_gpiod() helper Andy Shevchenko
2020-11-11 15:51 ` Mika Westerberg
2020-11-09 20:53 ` [PATCH v5 15/17] gpiolib: acpi: Convert pin_index to be u16 Andy Shevchenko
2020-11-11 15:55 ` Mika Westerberg
2020-11-09 20:53 ` [PATCH v5 16/17] gpiolib: acpi: Use BIT() macro to increase readability Andy Shevchenko
2020-11-11 15:57 ` Mika Westerberg
2020-11-11 17:01 ` Andy Shevchenko
2020-11-09 20:53 ` [PATCH v5 17/17] gpiolib: acpi: Make Intel GPIO tree official for GPIO ACPI work Andy Shevchenko
2020-11-11 19:27 ` Andy Shevchenko
2020-11-12 7:00 ` Mika Westerberg
2020-11-17 20:48 ` Linus Walleij
2020-11-10 14:08 ` [PATCH v5 00/17] gpiolib: acpi: pin configuration fixes Hans de Goede
2020-11-10 14:14 ` Andy Shevchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201109205332.19592-1-andriy.shevchenko@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=bgolaszewski@baylibre.com \
--cc=hdegoede@redhat.com \
--cc=jamie@kwiius.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).