From mboxrd@z Thu Jan 1 00:00:00 1970 From: grant.likely@secretlab.ca (Grant Likely) Date: Mon, 24 Oct 2011 09:36:04 +0200 Subject: [PATCH] drivers: create a pin control subsystem v8 In-Reply-To: References: <1317211419-18472-1-git-send-email-linus.walleij@stericsson.com> <20110930020754.GK12606@ponder.secretlab.ca> <20111004203520.GK2870@ponder.secretlab.ca> Message-ID: <20111024073604.GA8708@ponder.secretlab.ca> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Mon, Oct 24, 2011 at 09:26:38AM +0200, Linus Walleij wrote: > On Sat, Oct 22, 2011 at 7:44 PM, Mike Frysinger wrote: > > On Tue, Oct 4, 2011 at 16:35, Grant Likely wrote: > >> On Sat, Oct 01, 2011 at 12:39:21PM +0200, Linus Walleij wrote: > >>> 2011/9/30 Grant Likely: > >>> >?I'm not convinced that the sysfs approach is > >>> > actually the right interface here (I'm certainly not a fan of the gpio > >>> > sysfs i/f), and I'd rather not be putting in unneeded stuff until the > >>> > userspace i/f is hammered out. > >>> > >>> Actually, thinking about it I cannot see what would be wrong > >>> with /dev/gpio0 & friends in the first place. > >>> > >>> Using sysfs as swiss army knife for custom I/O does not > >>> seem like it would be long-term viable so thanks for this > >>> observation, and I think we need /dev/gpio* put on some > >>> mental roadmap somewhere. > >> > >> Agreed. ?I don't want to be in the situation we are now with GPIO, > >> where every time I look at the sysfs interface I shudder. > > > > the problem with that is it doesn't scale. ?if i have a device with > > over 150 GPIOs on the SoC itself (obviously GPIO expanders can make > > that much bigger), i don't want to see 150+ device nodes in /dev/. > > that's a pretty big waste. ?sysfs only allocates/frees resources when > > userspace actually wants to utilize a GPIO. > > I was more thinking along the lines of one device per GPIO controller, > then you ioctl() to ask /dev/gpio0 how many pins it has or so. And there is also the question of whether it is even a good idea to export pinctrl manipulation to userspace. g.