From: Johan Hovold <johan@kernel.org>
To: Markus Pargmann <mpa@pengutronix.de>
Cc: Johan Hovold <johan@kernel.org>,
Alexandre Courbot <gnurou@gmail.com>,
Linus Walleij <linus.walleij@linaro.org>,
kernel@pengutronix.de, linux-arm-kernel@lists.infradead.org,
linux-gpio@vger.kernel.org
Subject: Re: [PATCH 9/9] gpiolib: Add gpio name information to /sys/kernel/debug/gpio
Date: Fri, 31 Jul 2015 12:45:50 +0200 [thread overview]
Message-ID: <20150731104550.GU28535@localhost> (raw)
In-Reply-To: <20150731104101.GB1994@pengutronix.de>
On Fri, Jul 31, 2015 at 12:41:01PM +0200, Markus Pargmann wrote:
> On Fri, Jul 31, 2015 at 10:54:07AM +0200, Johan Hovold wrote:
> > On Wed, Jul 29, 2015 at 09:08:42AM +0200, Markus Pargmann wrote:
> > > On Tue, Jul 28, 2015 at 11:58:42AM +0200, Johan Hovold wrote:
> > > > On Fri, Jul 17, 2015 at 11:32:50AM +0200, Markus Pargmann wrote:
> > > > > Add some information about gpio names to the debugfs gpio file. name and
> > > > > label of a GPIO are then displayed next to each other. This way it is
> > > > > easy to see what the real name of GPIO is and what the driver requested
> > > > > it for.
> > > > >
> > > > > Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
> > > > > ---
> > > > > drivers/gpio/gpiolib.c | 11 ++++++++---
> > > > > 1 file changed, 8 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
> > > > > index dcac3bcf21dd..0f1d1f5faf5d 100644
> > > > > --- a/drivers/gpio/gpiolib.c
> > > > > +++ b/drivers/gpio/gpiolib.c
> > > > > @@ -2308,14 +2308,19 @@ static void gpiolib_dbg_show(struct seq_file *s, struct gpio_chip *chip)
> > > > > int is_irq;
> > > > >
> > > > > for (i = 0; i < chip->ngpio; i++, gpio++, gdesc++) {
> > > > > - if (!test_bit(FLAG_REQUESTED, &gdesc->flags))
> > > > > + if (!test_bit(FLAG_REQUESTED, &gdesc->flags)) {
> > > > > + if (gdesc->name) {
> > > > > + seq_printf(s, " gpio-%-3d (%-20.20s)\n",
> > > > > + gpio, gdesc->name);
> > > > > + }
> > > >
> > > > So now we'd no longer just be listing requested gpios, but on a similar
> > > > format to how requested ones used to be represented.
> > >
> > > Better suggestions on how to display those extra information in debugfs?
> >
> > Perhaps a new file only listing the line names.
>
> Yes that's a possibility. On the other side having it all in one place
> is nice. As it helps you to debug faster, you can directly see which
> line name was requested for what purpose and so on.
Certainly, but you'd change the meaning of debug/gpio which used to
contain only requested gpios.
Not saying we shouldn't, but yeah, let's were this discussion goes
first.
> > > > Then there's the debugfs as ABI discussion...
> > >
> > > I didn't consider debugfs as ABI as I thought it is just for debugging
> > > purposes?
> >
> > Some people seem to have expressed a different position:
> >
> > "The fact that something is documented (whether correctly or
> > not) has absolutely _zero_ impact on anything at all. What makes
> > something an ABI is that it's useful and available. The only way
> > something isn't an ABI is by _explicitly_ making sure that it's
> > not available even by mistake in a stable form for binary use.
> >
> > Example: kernel internal data structures and function calls. We
> > make sure that you simply _cannot_ make a binary that works
> > across kernel versions. That is the only way for an ABI to not
> > form."
> >
> > https://lwn.net/Articles/309298/
> >
>
> Oh, I see. But I think that debugfs should help us to debug issues.
> If we start to care about breaking userspace tools it is not as helpful
> anymore. If I develop some tool against information that are
> clearly marked for debugging, I would somehow expect that my tool breaks
> at some point. But thats just my opinion.
I tend to agree, and wish debugfs was never to be considered ABI, but
it's Torvald's words above...
Johan
WARNING: multiple messages have this Message-ID (diff)
From: johan@kernel.org (Johan Hovold)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 9/9] gpiolib: Add gpio name information to /sys/kernel/debug/gpio
Date: Fri, 31 Jul 2015 12:45:50 +0200 [thread overview]
Message-ID: <20150731104550.GU28535@localhost> (raw)
In-Reply-To: <20150731104101.GB1994@pengutronix.de>
On Fri, Jul 31, 2015 at 12:41:01PM +0200, Markus Pargmann wrote:
> On Fri, Jul 31, 2015 at 10:54:07AM +0200, Johan Hovold wrote:
> > On Wed, Jul 29, 2015 at 09:08:42AM +0200, Markus Pargmann wrote:
> > > On Tue, Jul 28, 2015 at 11:58:42AM +0200, Johan Hovold wrote:
> > > > On Fri, Jul 17, 2015 at 11:32:50AM +0200, Markus Pargmann wrote:
> > > > > Add some information about gpio names to the debugfs gpio file. name and
> > > > > label of a GPIO are then displayed next to each other. This way it is
> > > > > easy to see what the real name of GPIO is and what the driver requested
> > > > > it for.
> > > > >
> > > > > Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
> > > > > ---
> > > > > drivers/gpio/gpiolib.c | 11 ++++++++---
> > > > > 1 file changed, 8 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
> > > > > index dcac3bcf21dd..0f1d1f5faf5d 100644
> > > > > --- a/drivers/gpio/gpiolib.c
> > > > > +++ b/drivers/gpio/gpiolib.c
> > > > > @@ -2308,14 +2308,19 @@ static void gpiolib_dbg_show(struct seq_file *s, struct gpio_chip *chip)
> > > > > int is_irq;
> > > > >
> > > > > for (i = 0; i < chip->ngpio; i++, gpio++, gdesc++) {
> > > > > - if (!test_bit(FLAG_REQUESTED, &gdesc->flags))
> > > > > + if (!test_bit(FLAG_REQUESTED, &gdesc->flags)) {
> > > > > + if (gdesc->name) {
> > > > > + seq_printf(s, " gpio-%-3d (%-20.20s)\n",
> > > > > + gpio, gdesc->name);
> > > > > + }
> > > >
> > > > So now we'd no longer just be listing requested gpios, but on a similar
> > > > format to how requested ones used to be represented.
> > >
> > > Better suggestions on how to display those extra information in debugfs?
> >
> > Perhaps a new file only listing the line names.
>
> Yes that's a possibility. On the other side having it all in one place
> is nice. As it helps you to debug faster, you can directly see which
> line name was requested for what purpose and so on.
Certainly, but you'd change the meaning of debug/gpio which used to
contain only requested gpios.
Not saying we shouldn't, but yeah, let's were this discussion goes
first.
> > > > Then there's the debugfs as ABI discussion...
> > >
> > > I didn't consider debugfs as ABI as I thought it is just for debugging
> > > purposes?
> >
> > Some people seem to have expressed a different position:
> >
> > "The fact that something is documented (whether correctly or
> > not) has absolutely _zero_ impact on anything at all. What makes
> > something an ABI is that it's useful and available. The only way
> > something isn't an ABI is by _explicitly_ making sure that it's
> > not available even by mistake in a stable form for binary use.
> >
> > Example: kernel internal data structures and function calls. We
> > make sure that you simply _cannot_ make a binary that works
> > across kernel versions. That is the only way for an ABI to not
> > form."
> >
> > https://lwn.net/Articles/309298/
> >
>
> Oh, I see. But I think that debugfs should help us to debug issues.
> If we start to care about breaking userspace tools it is not as helpful
> anymore. If I develop some tool against information that are
> clearly marked for debugging, I would somehow expect that my tool breaks
> at some point. But thats just my opinion.
I tend to agree, and wish debugfs was never to be considered ABI, but
it's Torvald's words above...
Johan
next prev parent reply other threads:[~2015-07-31 10:45 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-17 9:32 [PATCH 0/9] gpiolib: Add GPIO name support Markus Pargmann
2015-07-17 9:32 ` Markus Pargmann
2015-07-17 9:32 ` [PATCH 1/9] gpiolib: Fix possible use of wrong name Markus Pargmann
2015-07-17 9:32 ` Markus Pargmann
2015-07-28 9:03 ` Johan Hovold
2015-07-28 9:03 ` Johan Hovold
2015-07-29 6:46 ` Markus Pargmann
2015-07-29 6:46 ` Markus Pargmann
2015-07-17 9:32 ` [PATCH 2/9] gpiolib-of: Rename gpio_hog functions to be generic Markus Pargmann
2015-07-17 9:32 ` Markus Pargmann
2015-07-17 9:32 ` [PATCH 3/9] gpio: Allow hogged gpios to be requested Markus Pargmann
2015-07-17 9:32 ` Markus Pargmann
2015-07-17 20:27 ` Uwe Kleine-König
2015-07-17 20:27 ` Uwe Kleine-König
2015-07-19 14:01 ` Markus Pargmann
2015-07-19 14:01 ` Markus Pargmann
2015-07-20 6:32 ` Uwe Kleine-König
2015-07-20 6:32 ` Uwe Kleine-König
2015-07-20 7:51 ` Markus Pargmann
2015-07-20 7:51 ` Markus Pargmann
2015-07-28 9:17 ` Johan Hovold
2015-07-28 9:17 ` Johan Hovold
2015-07-29 6:52 ` Markus Pargmann
2015-07-29 6:52 ` Markus Pargmann
2015-08-10 9:20 ` Linus Walleij
2015-08-10 9:20 ` Linus Walleij
2015-07-17 9:32 ` [PATCH 4/9] gpio: Add 'name' to the gpio descriptor struct Markus Pargmann
2015-07-17 9:32 ` Markus Pargmann
2015-07-28 9:24 ` Johan Hovold
2015-07-28 9:24 ` Johan Hovold
2015-07-17 9:32 ` [PATCH 5/9] gpiolib: Implement gpio_name_to_desc() Markus Pargmann
2015-07-17 9:32 ` Markus Pargmann
2015-07-17 9:32 ` [PATCH 6/9] gpiolib-of: Reuse 'line-name' from DT as gpio descriptor name Markus Pargmann
2015-07-17 9:32 ` Markus Pargmann
2015-07-28 9:31 ` Johan Hovold
2015-07-28 9:31 ` Johan Hovold
2015-07-29 6:52 ` Markus Pargmann
2015-07-29 6:52 ` Markus Pargmann
2015-07-17 9:32 ` [PATCH 7/9] gpiolib-sysfs: Add gpio name parsing for sysfs export Markus Pargmann
2015-07-17 9:32 ` Markus Pargmann
2015-07-28 9:50 ` Johan Hovold
2015-07-28 9:50 ` Johan Hovold
2015-07-29 6:57 ` Markus Pargmann
2015-07-29 6:57 ` Markus Pargmann
2015-07-31 8:44 ` Johan Hovold
2015-07-31 8:44 ` Johan Hovold
2015-07-17 9:32 ` [PATCH 8/9] gpiolib-sysfs: Show gpio-name in /sys/class/gpio/gpio*/name Markus Pargmann
2015-07-17 9:32 ` Markus Pargmann
2015-07-28 9:53 ` Johan Hovold
2015-07-28 9:53 ` Johan Hovold
2015-07-29 7:02 ` Markus Pargmann
2015-07-29 7:02 ` Markus Pargmann
2015-07-17 9:32 ` [PATCH 9/9] gpiolib: Add gpio name information to /sys/kernel/debug/gpio Markus Pargmann
2015-07-17 9:32 ` Markus Pargmann
2015-07-28 9:58 ` Johan Hovold
2015-07-28 9:58 ` Johan Hovold
2015-07-29 7:08 ` Markus Pargmann
2015-07-29 7:08 ` Markus Pargmann
2015-07-31 8:54 ` Johan Hovold
2015-07-31 8:54 ` Johan Hovold
2015-07-31 10:41 ` Markus Pargmann
2015-07-31 10:41 ` Markus Pargmann
2015-07-31 10:45 ` Johan Hovold [this message]
2015-07-31 10:45 ` Johan Hovold
2015-07-31 10:49 ` Lucas Stach
2015-07-31 10:49 ` Lucas Stach
2015-07-17 20:05 ` [PATCH 0/9] gpiolib: Add GPIO name support Linus Walleij
2015-07-17 20:05 ` Linus Walleij
2015-07-21 9:00 ` Alexandre Courbot
2015-07-21 9:00 ` Alexandre Courbot
2015-07-21 9:54 ` Uwe Kleine-König
2015-07-21 9:54 ` Uwe Kleine-König
2015-07-21 10:10 ` Markus Pargmann
2015-07-21 10:10 ` Markus Pargmann
[not found] ` <CAGmoSHt0Kg-cxe3U6uV40=ttmFbDruRcJZNxtmSZ=gmZQN5fTw@mail.gmail.com>
2015-07-31 9:49 ` Johan Hovold
2015-07-31 9:49 ` Johan Hovold
2015-07-31 10:42 ` Markus Pargmann
2015-07-31 10:42 ` Markus Pargmann
2015-07-28 14:16 ` Johan Hovold
2015-07-28 14:16 ` Johan Hovold
2015-07-29 9:23 ` Linus Walleij
2015-07-29 9:23 ` Linus Walleij
2015-07-31 9:40 ` Johan Hovold
2015-07-31 9:40 ` Johan Hovold
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=20150731104550.GU28535@localhost \
--to=johan@kernel.org \
--cc=gnurou@gmail.com \
--cc=kernel@pengutronix.de \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=mpa@pengutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.