From: stigge@antcom•de (Roland Stigge)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH RFC 1/2] gpio: Add a block GPIO API to gpiolib
Date: Fri, 28 Sep 2012 11:52:22 +0200 [thread overview]
Message-ID: <50657356.4010801@antcom.de> (raw)
In-Reply-To: <CACRpkdZ+1ffsMDRZXYb5RRndoXstj_QHvHOpeikRY0bas72dKQ@mail.gmail.com>
On 09/28/2012 11:14 AM, Linus Walleij wrote:
>> @@ -686,6 +731,13 @@ read-only attributes:
>>
>> "ngpio" ... how many GPIOs this manges (N to N + ngpio - 1)
>>
>> + "block" ... get/set Block GPIO:
>> + * reads: space separated list of GPIO inputs of this chip that
>> + are set to 1, e.g. "83 85 87 99"
>> + * write: space separated list of GPIO outputs of this chip
>> + that are to be set or cleared, e.g. "80 -83 -85" (prefix
>> + "-" clears)
>
> This sort of breaks the sysfs convention of one value per file,
> does it not?
>
> It's not like I have some better idea, just we need to think about
> other possible solutions.
>
> The GPIO sysfs interface is not universally liked. What are the
> typical applications you have for this? Industrial control by
> bit-banging userspace processes?
Yes, I had several projects in the past with the need of setting groups
of GPIOs at once (typically, 8 bit busses via GPIO lines), so needed to
provide some hacks. Don't want to do this over and over again. :-)
Bit-banging in kernel and userspace.
It's hard to do the one-value-per-file right for a several-gpios-at-once
goal. :-) I originally had a one-value solution: A bit map, continuously
hex coded, like in the original kernel API idea (e.g. 0x000F0A0010).
Wasn't sure because it encodes GPIO numbers in a weird way.
Strictly formally: Isn't a comma-separated list of a GPIO block (e.g.
"80,81,85") a singe value in a sense? :-) Or other possibilities? Maybe
some node in /proc? Or some kind of new character device node?
Otherwise, I need to think about leaving out the sysfs for this purpose.
Thanks in advance,
Roland
next prev parent reply other threads:[~2012-09-28 9:52 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-27 21:22 [PATCH RFC 1/2] gpio: Add a block GPIO API to gpiolib Roland Stigge
2012-09-27 21:22 ` [PATCH RFC 2/2] gpio-max730x: Add block GPIO API Roland Stigge
2012-09-28 2:47 ` [PATCH RFC 1/2] gpio: Add a block GPIO API to gpiolib Jean-Christophe PLAGNIOL-VILLARD
2012-09-28 7:14 ` Roland Stigge
2012-09-28 7:51 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-28 8:51 ` Roland Stigge
2012-09-28 9:08 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-28 9:23 ` Roland Stigge
2012-09-28 10:28 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-28 11:32 ` Roland Stigge
2012-09-28 16:01 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-28 18:32 ` Roland Stigge
2012-09-29 19:57 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-30 10:34 ` Roland Stigge
2012-09-30 15:11 ` Stijn Devriendt
2012-09-28 9:14 ` Linus Walleij
2012-09-28 9:52 ` Roland Stigge [this message]
2012-09-28 11:34 ` Linus Walleij
2012-09-28 12:35 ` Roland Stigge
2012-09-30 9:35 ` Stijn Devriendt
2012-09-30 10:50 ` Roland Stigge
2012-09-30 14:52 ` Stijn Devriendt
2012-09-30 15:09 ` Roland Stigge
2012-09-30 15:19 ` Stijn Devriendt
2012-09-30 15:46 ` Roland Stigge
2012-10-03 23:11 ` Linus Walleij
2012-10-03 23:07 ` Linus Walleij
2012-10-04 20:25 ` Roland Stigge
2012-10-03 19:08 ` Mark Brown
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=50657356.4010801@antcom.de \
--to=stigge@antcom$(echo .)de \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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