* [PATCH v2] gpio: Allow hogged gpios to be requested
@ 2015-08-04 9:27 Markus Pargmann
2015-08-10 9:26 ` Linus Walleij
0 siblings, 1 reply; 3+ messages in thread
From: Markus Pargmann @ 2015-08-04 9:27 UTC (permalink / raw)
To: Linus Walleij
Cc: Alexandre Courbot, Uwe Kleine-König, Johan Hovold,
linux-gpio, linux-arm-kernel, kernel, Markus Pargmann
It can be useful to claim hogged gpios later, for example from
userspace. This allows to set defaults for GPIOs using the hogging
mechanism and override the setup later from userspace or a kernel driver.
This patch adds a check for hogged gpios to allow requesting them. If
the gpio is not hogged but marked as requested, it still fails with
-EBUSY.
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
---
Only change is, that it is separated from the other series now.
drivers/gpio/gpiolib.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 926a1507431f..0f1d1f5faf5d 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -830,7 +830,8 @@ static int __gpiod_request(struct gpio_desc *desc, const char *label)
* before IRQs are enabled, for non-sleeping (SOC) GPIOs.
*/
- if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0) {
+ if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0 ||
+ test_and_clear_bit(FLAG_IS_HOGGED, &desc->flags) == 1) {
desc_set_label(desc, label ? : "?");
status = 0;
} else {
--
2.1.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] gpio: Allow hogged gpios to be requested
2015-08-04 9:27 [PATCH v2] gpio: Allow hogged gpios to be requested Markus Pargmann
@ 2015-08-10 9:26 ` Linus Walleij
2015-08-13 13:07 ` Markus Pargmann
0 siblings, 1 reply; 3+ messages in thread
From: Linus Walleij @ 2015-08-10 9:26 UTC (permalink / raw)
To: Markus Pargmann
Cc: Alexandre Courbot, Uwe Kleine-König, Johan Hovold,
linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
Sascha Hauer
On Tue, Aug 4, 2015 at 11:27 AM, Markus Pargmann <mpa@pengutronix.de> wrote:
> It can be useful to claim hogged gpios later, for example from
> userspace. This allows to set defaults for GPIOs using the hogging
> mechanism and override the setup later from userspace or a kernel driver.
>
> This patch adds a check for hogged gpios to allow requesting them. If
> the gpio is not hogged but marked as requested, it still fails with
> -EBUSY.
>
> Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
To me it feels like a new DT property "gpio-inital-value" or so
need to be defined in addition to the hogging bindings, and that
one just sets the GPIO up without setting the FLAG_IS_HOGGED.
The mechanism needs to be available to non-DT as well
of course, but it could be a first usecase.
So instead of:
line_b {
gpio-initval;
gpios = <6 0>;
output-low;
};
Note: no line-name. And it shouldn't be allowed: we don't
know who will use this in the end.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] gpio: Allow hogged gpios to be requested
2015-08-10 9:26 ` Linus Walleij
@ 2015-08-13 13:07 ` Markus Pargmann
0 siblings, 0 replies; 3+ messages in thread
From: Markus Pargmann @ 2015-08-13 13:07 UTC (permalink / raw)
To: Linus Walleij
Cc: Alexandre Courbot, Uwe Kleine-König, Johan Hovold,
linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
Sascha Hauer
[-- Attachment #1: Type: text/plain, Size: 1587 bytes --]
Hi,
On Mon, Aug 10, 2015 at 11:26:49AM +0200, Linus Walleij wrote:
> On Tue, Aug 4, 2015 at 11:27 AM, Markus Pargmann <mpa@pengutronix.de> wrote:
>
> > It can be useful to claim hogged gpios later, for example from
> > userspace. This allows to set defaults for GPIOs using the hogging
> > mechanism and override the setup later from userspace or a kernel driver.
> >
> > This patch adds a check for hogged gpios to allow requesting them. If
> > the gpio is not hogged but marked as requested, it still fails with
> > -EBUSY.
> >
> > Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
>
> To me it feels like a new DT property "gpio-inital-value" or so
> need to be defined in addition to the hogging bindings, and that
> one just sets the GPIO up without setting the FLAG_IS_HOGGED.
>
> The mechanism needs to be available to non-DT as well
> of course, but it could be a first usecase.
>
> So instead of:
>
> line_b {
> gpio-initval;
> gpios = <6 0>;
> output-low;
> };
>
> Note: no line-name. And it shouldn't be allowed: we don't
> know who will use this in the end.
Sounds good to me. If everyone is okay with this I could go ahead and
implement something like this.
Best Regards,
Markus
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-08-13 13:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-04 9:27 [PATCH v2] gpio: Allow hogged gpios to be requested Markus Pargmann
2015-08-10 9:26 ` Linus Walleij
2015-08-13 13:07 ` Markus Pargmann
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).