From: "Andrew Jeffery" <andrew@aj.id.au>
To: "Zev Weiss" <zweiss@equinix.com>, "Joel Stanley" <joel@jms.id.au>
Cc: "Bartosz Golaszewski" <brgl@bgdev.pl>,
"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
"OpenBMC Maillist" <openbmc@lists.ozlabs.org>,
"Eddie James" <eajames@linux.ibm.com>
Subject: Re: [libgpiod PATCH] gpioget: Add --line-name to lookup GPIO line
Date: Fri, 03 Dec 2021 16:50:12 +1030 [thread overview]
Message-ID: <56d66cf6-a05f-461f-9db5-b02b30dc12b2@www.fastmail.com> (raw)
In-Reply-To: <20211203035019.GC25091@packtop>
On Fri, 3 Dec 2021, at 14:20, Zev Weiss wrote:
> On Wed, Dec 01, 2021 at 08:29:47PM PST, Joel Stanley wrote:
>>On Wed, 1 Dec 2021 at 08:29, Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>>>
>>> On Wed, Dec 1, 2021 at 8:29 AM Joel Stanley <joel@jms.id.au> wrote:
>>> >
>>> > Systems provide line names to make using GPIOs easier for userspace. Use
>>> > this feature to make the tools user friendly by adding the ability to
>>> > show the state of a named line.
>>> >
>>> > $ gpioget --line-name power-chassis-good
>>> > 1
>>> >
>>> > $ gpioget -L pcieslot-power
>>> > 0
>>
>>> I'm not very convinced to be honest. It's not like "gpioget gpiochip0
>>> `gpiofind gpiochip0 line-name`" requires much more typing than
>>> "gpioget gpiochip --line-name=name".
>>
>>I'm taking on feedback from people working in our labs, and
>>implementing userspace applications. We've been building BMCs with
>>mainline Linux for about six years now, and it's been a long road
>>re-training them from "back in the day we just did devmem <this>
>><that>" and "why can't we just do cat /sys/class/gpio/gpio305/value",
>>and now "why does the level of the GPIO change back after I run the
>>command?".
>>
>>This usability improvement is one more step towards them using and
>>being happy with the "new world" of the gpiod API.
>>
>>Once we settle on a good API here, I plan on submitting a version of
>>gpioget/gpioset added to busybox.
>>
>>> There are also other questions:
>>> this uses getopt and only allows to specify a single line name. What
>>> if we want to specify more lines like with offsets? Even if you allow
>>> multiple names, getopt() doesn't guarantee ordering of arguments.
>>
>>If you're happy with the concept I'm happy to iterate on the implementation.
>>
>>Yes, it only allows a single line name. That tends to be how the tool
>>is used, both from the command line and in scripts.
>>
>>Can you give me an example of your proposed command line API, so I can
>>understand what you're suggesting here?
>>
>
> My two cents: like Jeremy, I would very much welcome the ability to
> specify GPIOs by name instead of number, but the one-line-only
> limitation does seem unfortunate. How about making a command-line flag
> that just means "line-specifier arguments should be interpreted as names
> instead of numbers"?
>
> So you could do:
>
> $ gpioget --by-name chassis-intrusion cpu1-prochot
> 0 1
>
> $ gpioset --by-name led-green=1 led-red=0
>
I came up with this approach as well (independently, just thinking
about Joel's patch). I think it has good ergonomics. I hadn't figured
out how we should interpret the arguments as line index vs line name,
but your --by-name option solves that. I like it a lot.
Andrew
next prev parent reply other threads:[~2021-12-03 6:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-01 7:29 [libgpiod PATCH] gpioget: Add --line-name to lookup GPIO line Joel Stanley
2021-12-01 8:29 ` Bartosz Golaszewski
2021-12-02 4:29 ` Joel Stanley
2021-12-03 3:50 ` Zev Weiss
2021-12-03 6:20 ` Andrew Jeffery [this message]
2021-12-03 10:18 ` Bartosz Golaszewski
2021-12-07 6:48 ` Joel Stanley
2021-12-02 5:21 ` Jeremy Kerr
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=56d66cf6-a05f-461f-9db5-b02b30dc12b2@www.fastmail.com \
--to=andrew@aj.id.au \
--cc=brgl@bgdev.pl \
--cc=eajames@linux.ibm.com \
--cc=joel@jms.id.au \
--cc=linux-gpio@vger.kernel.org \
--cc=openbmc@lists.ozlabs.org \
--cc=zweiss@equinix.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).