Expose named GPIOs through sysfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I have several GPIOs that are not associated with kernel drivers that I 
would like to expose to userspace with names corresponding to their 
functions.  I am on Arm, so I would like to be able to specify this 
through a device tree.

As a concrete example, I have a USB device that is controlled with a 
userspace libusb driver which has a reset pin connected by GPIO.  I 
would like to expose this line as dev_reset.  Right now, userspace has 
to know the GPIO number, export the gpio, manually configure it as an 
output, then set its value.  Instead, I would like the device to simply 
show up as /sys/class/gpio/dev_reset/ (or similar) with the expected 
GPIO properties in this directory.

As a workaround, I have seen some people configure GPIOs with the LED 
driver and control the pin with "brightness", but this seems like a 
hack.  I am aware of gpio-hog, but as far as I can tell, once hogged, 
the GPIO is not exposed and cannot be changed (at least by userspace).

I see that there have been similar discussions before [1], but they 
don't seem to have reached a conclusion.  Before working on something, I 
wanted to contact the list to get some direction on the right way to 
proceed.  Is a dedicated driver the right way to do this?  Or an option 
added to the GPIO system?  I see some proposals in [2] ... is 
implementing the suggestions there the best way?

Thank you,
Kevin Smith

[1] https://www.mail-archive.com/linux-gpio@xxxxxxxxxxxxxxx/msg00864.html
[2] https://www.mail-archive.com/linux-gpio@xxxxxxxxxxxxxxx/msg01084.html��.n��������+%����;��w��{.n�����{��
b���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux