On Sunday 01 November 2015 11:41:44 Mark Brown wrote: > On Fri, Oct 30, 2015 at 08:47:14PM +0100, Linus Walleij wrote: > > On Fri, Oct 30, 2015 at 2:55 AM, Alexandre Courbot <gnurou@xxxxxxxxx> wrote: > > > > * For all the justified hate that sysfs got, it had the advantage of > > > being directly accessible using only the shell. If we replace it with > > > a character device interface, I think we will need a "libgpio" (that > > > provides easy access to C programs) and "gpio-tools" (simple > > > command-line tools that provide functionality similar to the sysfs > > > interface). Are we ready to start and maintain these? Granted, it > > > should not be too much work, but it's still an extra. > > > I think the raw ioctl()s will be simple enough and intend to use > > the tools/gpio/* as proper examples. If we need > > tools/gpio/swiss-army-knife.c we will add it too. > > > ALSA and fbdev and MESA and libusb spawned huge userspace > > libs, but I hope this ioctl() ABI will be simple enough that apps > > can use it directly without a lib. But what do I know. > > That only works for very C like languages, for other languages (things > like scripting languages in particular) you're going to need a library > for the language to bind to in order to be usable. I think we need real gpio userspace tools for such a chardev interface and not only a library. On the one hand there are all the kernel/userspace developers that just want to test stuff. On the other hand there are really a lot of people that are using small embedded devices (e.g. beaglebone, raspberry pi, ...) for really simple applications like using GPIOs to control something. I am sure many of them are just using some really simple bash code to reach their goals. Best Regards, Markus -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Attachment:
signature.asc
Description: This is a digitally signed message part.