From: johan@kernel.org (Johan Hovold)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/9] gpiolib: Add GPIO name support
Date: Fri, 31 Jul 2015 11:40:17 +0200 [thread overview]
Message-ID: <20150731094017.GP28535@localhost> (raw)
In-Reply-To: <CACRpkdYV=MDcEmsknuAXghGe_PcnqCQdvK2AQd8N28g7weGtFA@mail.gmail.com>
On Wed, Jul 29, 2015 at 11:23:10AM +0200, Linus Walleij wrote:
> On Tue, Jul 28, 2015 at 4:16 PM, Johan Hovold <johan@kernel.org> wrote:
>
> > That said, this is a step along the lines that we have discussed in the
> > past. Adding pin functions (line names) to generic pin nodes in DT makes
> > sense, but we need to think through the details first. For example:
> >
> > - Should we allow duplicate pin functions (line names)? We need to
> > consider not just on-chip controllers, but also hot-pluggable
> > controllers and device-tree overlays.
>
> I guess the typical example is if we have two identical GPIO
> expanders. We have this with arch/arm/boot/dts/ste-nomadik-nhk15.dts
> for example.
>
> With this scheme, they will simply have to name their lines
> uniquely for things to work since /sys/class/gpio is a flat
> space, not hierarchic per-gpiochip (as would be preferred,
> should this be sane to maintain).
/sys/class/gpio and the pin numbers is a flat space, but the line names
must not necessarily be unique. With a new userspace interface duplicate
line names could be handled.
Consider also DT overlays and hot-pluggable buses (e.g. USB when it gets
a DT representation). A driver for a device on such a bus, be it USB or
Greybus, could even be providing line names through some other means
when registering the controller.
> > - Should we allow initial configurations to be specified and still
> > allow (some) pins to be requested later ("soft" hogging)?
>
> That is a key idea in this patch set.
>
> Maybe we need a "userspace hog" to mark these specifically as
> not used by the operating system. (Bringing me back to my
> tirade about people doing stupid things in userspace just because
> they don't know about all the nice GPIO stuff in the kernel.)
Should we then refuse such "userspace hogs" from being requested from
the kernel? This can't really be considered hardware description...
> > - Should we specify pin directionality? I've suggested elsewhere that
> > adding such limitations (e.g. as a mask) may make sense in cases were
> > changing pin direction is known to cause damage.
>
> We have the flag jamming IRQ lines to be input, but input-only
> and output-only seems reasonable for hogs in reaction to the
> current "input", "output-low" and "output-high" properties.
>
> Could be a separate patch though.
Indeed. I'm just suggesting we not rush into adding more ABI, before
really determining what these interfaces should look like.
> > - What would a new gpio interface look like?
>
> Yeah :/ people are scared of adding chardevs it seems.
>
> I think they are kind of nice, the biggest problem seems to be
> totally confused userspace with udev and mdev and none of
> them ever knows about new stuff and people get problems
> becuase of old rootfs:es.
Really? But that's not our problem, right?
I keep rejecting vendor-specific gpio ioctl-interfaces for usb-serial
devices, while the current sysfs interface really isn't a good
replacement (but we must use standard interfaces of course). It's not
just about the line names.
Johan
prev parent reply other threads:[~2015-07-31 9:40 UTC|newest]
Thread overview: 42+ 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 ` [PATCH 1/9] gpiolib: Fix possible use of wrong name Markus Pargmann
2015-07-28 9:03 ` Johan Hovold
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 ` [PATCH 3/9] gpio: Allow hogged gpios to be requested Markus Pargmann
2015-07-17 20:27 ` Uwe Kleine-König
2015-07-19 14:01 ` Markus Pargmann
2015-07-20 6:32 ` Uwe Kleine-König
2015-07-20 7:51 ` Markus Pargmann
2015-07-28 9:17 ` Johan Hovold
2015-07-29 6:52 ` Markus Pargmann
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-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 ` [PATCH 6/9] gpiolib-of: Reuse 'line-name' from DT as gpio descriptor name Markus Pargmann
2015-07-28 9:31 ` Johan Hovold
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-28 9:50 ` Johan Hovold
2015-07-29 6:57 ` Markus Pargmann
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-28 9:53 ` Johan Hovold
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-28 9:58 ` Johan Hovold
2015-07-29 7:08 ` Markus Pargmann
2015-07-31 8:54 ` Johan Hovold
2015-07-31 10:41 ` Markus Pargmann
2015-07-31 10:45 ` Johan Hovold
2015-07-31 10:49 ` Lucas Stach
2015-07-17 20:05 ` [PATCH 0/9] gpiolib: Add GPIO name support Linus Walleij
2015-07-21 9:00 ` Alexandre Courbot
2015-07-21 9:54 ` Uwe Kleine-König
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 10:42 ` Markus Pargmann
2015-07-28 14:16 ` Johan Hovold
2015-07-29 9:23 ` Linus Walleij
2015-07-31 9:40 ` Johan Hovold [this message]
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=20150731094017.GP28535@localhost \
--to=johan@kernel.org \
--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).