lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 18 May 2015 17:08:15 +0200
From:	Johan Hovold <johan@...nel.org>
To:	"Grygorii.Strashko@...aro.org" <grygorii.strashko@...aro.org>
Cc:	Johan Hovold <johan@...nel.org>,
	Linus Walleij <linus.walleij@...aro.org>,
	Alexandre Courbot <gnurou@...il.com>,
	linux-gpio@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] gpiolib: debugfs: display gpios requested as irq only

On Mon, May 18, 2015 at 04:06:08PM +0300, Grygorii.Strashko@...aro.org wrote:
> Hi Johan,
> On 05/18/2015 02:02 PM, Johan Hovold wrote:
> > On Fri, May 15, 2015 at 04:25:21PM +0300, grygorii.strashko@...aro.org wrote:
> >> From: Grygorii Strashko <grygorii.strashko@...aro.org>
> >>
> >> Now GPIOs, wich are requested as IRQ only, will not be displayed
> >> through GPIO debugfs. For example:
> >>   # cat /proc/interrupts
> >>              CPU0       CPU1
> >> ...
> >> 209:          0          0  4805d000.gpio  11 Edge      0-0021
> >>
> >>   # cat /debug/gpio
> >> ...
> >> GPIOs 160-191, platform/4805d000.gpio, gpio:
> >> <--- no info about gpio used as IRQ only here
> >>
> >> GPIOs 192-223, platform/48051000.gpio, gpio:
> >>   gpio-203 (vtt_fixed           ) out hi
> >> ...
> >>
> >> Hence, improve GPIO debugfs code to show such kind of gpio and print
> >> IRQ number also. In addition, add marker "requested" for GPIOs wich
> >> were requested by using gpioX_request().
> >>
> >> After this patch sys/kernel/debug/gpio will produce following output:
> >>
> >>   # cat /debug/gpio
> >> ...
> >> GPIOs 160-191, platform/4805d000.gpio, gpio:
> >>   gpio-171 ((null)              ) in  hi IRQ209
> >>
> >> GPIOs 192-223, platform/48051000.gpio, gpio:
> >>   gpio-203 (vtt_fixed           ) out hi requested
> > 
> > This is backwards. All gpios *should* be requested. *If* we are to
> > include not-requested gpios in the debug output, then it is those pins
> > that need to be marked as not-requested.
> 
> Sry, but I didn't fully understand your point here ( - Why is it
> backward?

My main point was that you should mark the pins used for irq only
instead of the other way round.

We should also consider making sure that pins only used for irq are also
requested.

With the current sysfs-interface it is for example to possible to
request the same irq, and when that pin is unexported (or only irq
released) the pin will no longer be marked for irq (just a flag that is
cleared) so that the direction can be changed...

gpiolib also depends on pins to be requested to prevent the
gpio-controller driver from being unloaded while in use.

[...]

> Of course, format of the marker "requested" is discussable. Could be:
> - "requested" --> "not-requested"
> - "I R" or "I G" where I - IRQ, G - GPIO, R - requested
> - etc.

How about instead of

	GPIOs 160-191, platform/4805d000.gpio, gpio:
	gpio-171 ((null)              ) in  hi IRQ209

you do something like:

	GPIOs 160-191, platform/4805d000.gpio, gpio:
	gpio-171 (<irq-only>          ) in  hi IRQ-209

> > The irq-number mapping could perhaps be useful, but it should go in a
> > separate patch. I'd suggest adding a '-' before the irq-number (e.g.
> > "IRQ-209").
> 
> I've thought about this, but finally decided not to split it.
> Could be done, if you insist )

Yes, you should split self-contained, logical changes into separate
patches (so they can be reviewed, applied or rejected separately as
well).

Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ