Sponsored Content
Full Discussion: GPIO and sysfs
Top Forums UNIX for Advanced & Expert Users GPIO and sysfs Post 303030731 by MadeInGermany on Thursday 14th of February 2019 03:54:57 PM
Old 02-14-2019
The /sys/ is an interface to the kernel (that resides in memory). A device driver, when loaded by the kernel, can plug into the /sys/ tree.
It depends on the driver how this is done. For example it can group items in a "sub folder"; and it can show an item read-only or implement it as change-able.
Most device drivers present each item like a file, having a one-value contents.
Yes, you really have to consult the driver documentation.
This User Gave Thanks to MadeInGermany For This Post:
 

2 More Discussions You Might Find Interesting

1. Programming

Unable to reference sysfs on Linux.

I am porting C code to a linux system but I am unable to link a call to the sysfs function. An excerpt from my code is: if (fstat(fileno(TrCtl.Fp), &fsstat) != -1) { (void) sysfs(1, fsname); if (strcmp(fsname, "nfs")) { (void) lockf(fileno(TrCtl.Fp), F_LOCK, 0L); ... (5 Replies)
Discussion started by: mbb
5 Replies

2. Linux

Query about creating sysfs directory under device driver

Hi all, Currently i am involved in developing a device driver for a custom hardware. My linux stack already has the sysfs directory structure /sys/class/hwmon/ My need is that, while loading my device driver i need to create a "xyz" sysfs directory inside hwmon sysfs directory as... (0 Replies)
Discussion started by: cbalu
0 Replies
GPIOLED(4)						   BSD Kernel Interfaces Manual 						GPIOLED(4)

NAME
gpioled -- GPIO LED generic device driver SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file: device gpio device gpioled DESCRIPTION
The gpioled driver provides glue to attach a led(4) compatible device to a GPIO pin. Each LED in the system has a name which is used to export a device as /dev/led/<name>. The GPIO pin can then be controlled by writing to this device as described in led(4). On a device.hints(5) based system, like MIPS, these values are configurable for gpioled: hint.gpioled.%d.at The gpiobus you are attaching to. Normally assigned to gpiobus0. hint.gpioled.%d.name Arbitrary name of device in /dev/led/ to create for led(4). hint.gpioled.%d.pins Which pin on the GPIO interface to map to this instance. Please note that this mask should only ever have one bit set (any other bits - i.e., pins - will be ignored). On a FDT(4) based system, like ARM, the DTS part for a gpioled device usually looks like: gpio: gpio { gpio-controller; ... led0 { compatible = "gpioled"; gpios = <&gpio 16 2 0>; /* GPIO pin 16. */ name = "ok"; }; led1 { compatible = "gpioled"; gpios = <&gpio 17 2 0>; /* GPIO pin 17. */ name = "user-led1"; }; }; Optionally, you can choose to combine all the LEDs under a single ``gpio-leds'' compatible node: simplebus0 { ... leds { compatible = "gpio-leds"; led0 { gpios = <&gpio 16 2 0>; name = "ok" }; led1 { gpios = <&gpio 17 2 0>; name = "user-led1" }; }; }; Both methods are equally supported and it is possible to have the LEDs defined with any sort of mix between the methods. The only restric- tion is that a GPIO pin cannot be mapped by two different (gpio)leds. For more details about the gpios property, please consult /usr/src/sys/boot/fdt/dts/bindings-gpio.txt. The property name is the arbitrary name of the device in /dev/led/ to create for led(4). SEE ALSO
fdt(4), gpio(4), gpioiic(4), led(4) HISTORY
The gpioled manual page first appeared in FreeBSD 10.1. AUTHORS
This manual page was written by Luiz Otavio O Souza. BSD
May 14, 2014 BSD
All times are GMT -4. The time now is 09:21 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy