Re: [PATCH v2] gpio: make of_get_named_gpiod_flags() private

From: Thierry Reding
Date: Mon May 19 2014 - 09:30:42 EST


On Sat, May 17, 2014 at 02:54:50PM +0900, Alexandre Courbot wrote:
> of_get_named_gpiod_flags() is visible and directly usable by GPIO
> consumers, but it really should not as the gpiod interface relies
> on the simpler gpiod_get() to provide properly-configured GPIOs.
>
> of_get_named_gpiod_flags() is just used internally by gpiolib to
> implement gpiod_get(), and by the old of_get_named_gpio_flags()
> function, therefore it makes sense to make it gpiolib-private.
>
> As a side-effect, the unused (and unneeded) of_get_gpiod_flags()
> inline function is also removed, and of_get_named_gpio_flags() is moved
> from a static inline function to a regular one in gpiolib-of.c
>
> This results in all references to gpiod_* functions in of_gpio.h being
> gone, which is the way it should be since this file is part of the old
> integer GPIO interface.
>
> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
> ---
> Changes since v1:
> - Fixed compilation error when CONFIG_OF_GPIO is not defined
> - Fixed warning due to of_gpio_flags enum not being declared
> in private gpiolib.h header
>
> drivers/gpio/gpiolib-of.c | 14 ++++++++++++++
> drivers/gpio/gpiolib.h | 5 +++++
> include/linux/of_gpio.h | 35 +++--------------------------------
> 3 files changed, 22 insertions(+), 32 deletions(-)

There are cases where GPIOs need to be obtained from device tree nodes
without a corresponding struct device. Do you have any ideas on how to
support such use-cases?

There's currently no API to do that except of_get_named_gpio_flags().
But that doesn't handled flags automatically in a way that gpiod_get()
does.

Thierry

Attachment: pgpnzsjiR2bSg.pgp
Description: PGP signature