From: mpa@pengutronix.de (Markus Pargmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/3] gpio: Use __gpiod_request directly
Date: Thu, 24 Sep 2015 09:02:57 +0200 [thread overview]
Message-ID: <20150924070257.GU32203@pengutronix.de> (raw)
In-Reply-To: <CAAVeFuJPzjJ6td9UZ993sbfOyEOo=7WVu-Y2KnFgXewyt_8knA@mail.gmail.com>
Hi,
On Wed, Sep 23, 2015 at 01:25:28PM +0900, Alexandre Courbot wrote:
> On Sun, Aug 30, 2015 at 4:44 PM, Markus Pargmann <mpa@pengutronix.de> wrote:
> > There is no reason to find out chip and hwnum to use to request a gpio
> > and get another gpio descriptor. We already have the descriptor we want
> > to use so we can directly use it.
> >
> > Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
> > ---
> > drivers/gpio/gpiolib.c | 17 ++++++-----------
> > 1 file changed, 6 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
> > index 79a0b41ce57b..872fdd3617c1 100644
> > --- a/drivers/gpio/gpiolib.c
> > +++ b/drivers/gpio/gpiolib.c
> > @@ -2189,25 +2189,20 @@ EXPORT_SYMBOL_GPL(__gpiod_get_index_optional);
> > int gpiod_hog(struct gpio_desc *desc, const char *name,
> > unsigned long lflags, enum gpiod_flags dflags)
> > {
> > - struct gpio_chip *chip;
> > - struct gpio_desc *local_desc;
> > - int hwnum;
> > int status;
> >
> > - chip = gpiod_to_chip(desc);
> > - hwnum = gpio_chip_hwgpio(desc);
> > -
> > - local_desc = gpiochip_request_own_desc(chip, hwnum, name);
> > - if (IS_ERR(local_desc)) {
> > + status = __gpiod_request(desc, name);
> > + if (status) {
> > pr_err("requesting hog GPIO %s (chip %s, offset %d) failed\n",
> > - name, chip->label, hwnum);
> > - return PTR_ERR(local_desc);
> > + name, gpiod_to_chip(desc)->label,
> > + gpio_chip_hwgpio(desc));
> > + return status;
> > }
> >
> > status = gpiod_configure_flags(desc, name, lflags, dflags);
> > if (status < 0) {
> > pr_err("setup of hog GPIO %s (chip %s, offset %d) failed\n",
> > - name, chip->label, hwnum);
> > + name, gpiod_to_chip(desc)->label, gpio_chip_hwgpio(desc));
> > gpiochip_free_own_desc(desc);
>
> Mmm I should have reviewed this patch earlier, but what bothers me a
> bit is that it breaks the symetry that we had by calling
> request_own_desc() and free_own_desc() in the failing case (as well as
> in gpiochip_free_hogs). And in the end you still need to call
> gpiod_to_chip() so I am not sure what the benefit is.
gpiod_to_chip() is only called for errors after this patch. It just
seemed to me as random reader of the code that using
gpiochip_request_own_desc() could be simplified by using __gpiod_request().
>
> Sure, the code is less verbose, but at the same time it has become
> slightly harder to understand. Semantically speaking
> "request_own_desc()" is exactly the action we want to convey.
> __gpiod_request() is more ambiguous.
At least for me this is slightly better to read as it removes some
unnecessary lines. But that is probably subjective and depends on the way
someone reads code.
Best Regards,
Markus
>
> Note that this is not a reject, I just wanted to stress that "less
> code" is not necessarily the same as "easier to read".
--
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 |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150924/df05c08c/attachment.sig>
next prev parent reply other threads:[~2015-09-24 7:02 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-30 7:44 [PATCH v2 0/3] gpiolib: Initializing GPIOs using DT property gpio-initval Markus Pargmann
2015-08-30 7:44 ` [PATCH v2 1/3] gpio: Use __gpiod_request directly Markus Pargmann
2015-09-21 21:41 ` Linus Walleij
2015-09-23 4:25 ` Alexandre Courbot
2015-09-24 7:02 ` Markus Pargmann [this message]
2015-09-24 17:49 ` Linus Walleij
2015-09-27 14:32 ` Markus Pargmann
2015-08-30 7:44 ` [PATCH v2 2/3] gpiolib: gpiod_hog remove separate name argument Markus Pargmann
2015-09-21 23:28 ` Linus Walleij
2015-09-24 6:39 ` Markus Pargmann
2015-09-24 17:52 ` Linus Walleij
2015-09-27 14:34 ` Markus Pargmann
2015-08-30 7:44 ` [PATCH v2 3/3] gpiolib: Add GPIO initialization Markus Pargmann
2015-09-21 11:01 ` Markus Pargmann
2015-09-21 23:42 ` Linus Walleij
2015-09-24 6:48 ` Markus Pargmann
2017-02-07 11:09 ` Uwe Kleine-König
2017-02-07 13:30 ` Lothar Waßmann
2017-02-07 14:57 ` Uwe Kleine-König
2017-05-06 20:32 ` Uwe Kleine-König
2017-05-07 7:30 ` Linus Walleij
2017-05-07 9:45 ` Uwe Kleine-König
2017-05-11 14:29 ` Linus Walleij
2017-05-11 20:18 ` Uwe Kleine-König
2017-05-07 10:22 ` Russell King - ARM Linux
2017-05-07 12:38 ` Uwe Kleine-König
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=20150924070257.GU32203@pengutronix.de \
--to=mpa@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
/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).