Re: [Patch v6 0/2] gpio: add GPIO hogging mechanism

From: Alexandre Courbot
Date: Thu Feb 26 2015 - 04:39:08 EST


Linus, this looks good to me in its current form, what are your thoughts?

On Tue, Feb 3, 2015 at 2:44 AM, Benoit Parrot <bparrot@xxxxxx> wrote:
> This patch set re-introduces the gpio hogging concept first
> presented by Boris Brezillion.
> This patch set provides a way to initially configure specific GPIO
> when the GPIO controller is probed.
>
> The actual DT scanning to collect the GPIO specific data is performed
> as part of of_gpiochip_add().
>
> The purpose of this is to allow specific GPIOs to be configured
> without any driver specific code.
> This is particularly useful because board design are getting
> increasingly complex and given SoC pins can now have more
> than 10 mux values a lot of connections are now dependent on
> external IO muxes to switch various modes.
>
> Specific drivers should not necessarily need to be aware of
> what accounts to a specific board implementation. This board level
> "description" should be best kept as part of the dts file.
>
> Changes since v5:
> * Addressed review comment from Linus Walleij
> * Replace "state" property back with separate boolean properties
> * Renamed helper function
> * Refactored pr_* calls to remove "__func__"
>
> Changes since v4:
> * Addressed review comments from Alexandre Courbot
>
> Changes since v3:
> * Relocated the non-DT "hog" function to gpiolib.c.
> * Rename some of the function to be clearer and remove _ prefixes.
> * Replace the gpiod_request/gpiod_put usage with
> gpiochip_request_own_desc/free_own_desc version instead.
> * Refactor some of the logic to better handle error condition/reporting
> * Renamed the "direction" DT properties to "state".
>
> Changes since v2:
> * Refactor the gpio-hog mechanism to split the DT related action
> from the actual "hogging" operation.
> * This allows non-DT providers to implement hogs as well.
> * Added FLAG_IS_HOGGED to mark hogged gpio and make gpiochip removal
> able to release hogged gpio.
> * Similarly to the hogging, the cleanup is performed as part of
> of_gpiochip_remove
>
> Changes since v1:
> * Split the devicetree bindings documentation in its own patch.
> * Refactor the gpio-hog mechanism as private functions meant to
> be to invoked from of_gpiochip_add().
>
>
> Benoit Parrot (2):
> gpio: add GPIO hogging mechanism
> gpio: Document GPIO hogging mechanism
>
> Documentation/devicetree/bindings/gpio/gpio.txt | 30 ++++++
> drivers/gpio/gpiolib-of.c | 111 +++++++++++++++++++++
> drivers/gpio/gpiolib.c | 124 ++++++++++++++++++++----
> drivers/gpio/gpiolib.h | 3 +
> 4 files changed, 249 insertions(+), 19 deletions(-)
>
> --
> 1.8.5.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/