mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
11d9a25a462e303e91d355793f5b77485138c6cf
The gpio-fsm driver implements simple state machines that allow GPIOs to be controlled in response to inputs from other GPIOs - real and soft/virtual - and time delays. It can: + create dummy GPIOs for drivers that demand them, + drive multiple GPIOs from a single input, with optional delays, + add a debounce circuit to an input, + drive pattern sequences onto LEDs etc. Signed-off-by: Phil Elwell <phil@raspberrypi.com> gpio-fsm: Fix a build warning Signed-off-by: Phil Elwell <phil@raspberrypi.com> gpio-fsm: Rename 'num-soft-gpios' to avoid warning As of 5.10, the Device Tree parser warns about properties that look like references to "suppliers" of various services. "num-soft-gpios" resembles a declaration of a GPIO called "num-soft", causing the value to be interpreted as a phandle, the owner of which is checked for a "#gpio-cells" property. To avoid this warning, rename the gpio-fsm property to "num-swgpios". Signed-off-by: Phil Elwell <phil@raspberrypi.com> gpio-fsm: Show state info in /sys/class/gpio-fsm Add gpio-fsm sysfs entries under /sys/class/gpio-fsm. For each state machine show the current state, which state (if any) will be entered after a delay, and the current value of that delay. Signed-off-by: Phil Elwell <phil@raspberrypi.com> gpio-fsm: Fix shutdown timeout handling The driver is intended to jump directly to a shutdown state in the event of a timeout during shutdown, but the sense of the test was inverted. Signed-off-by: Phil Elwell <phil@raspberrypi.com> gpio-fsm: Clamp the delay time to zero The sysfs delay_ms value is calculated live, and it is possible for the time left to appear to be negative briefly if the timer handling hasn't completed. Ensure the displayed value never goes below zero, for the sake of appearances. Signed-off-by: Phil Elwell <phil@raspberrypi.com> gpio-fsm: Sort functions into a more logical order Move some functions into a more logical ordering. This change causes no functional change and is essentially cosmetic. Signed-off-by: Phil Elwell <phil@raspberrypi.com> gpio_fsm: Rework the atomic-vs-non-atomic split Partition the code to separate atomic and non-atomic methods so that none of them have to handle both cases. The result avoids using deferred work unless necessary, and should be easier to understand. Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Linux kernel
There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF. Please read Documentation/admin-guide/README.rst first.
In order to build the documentation, use make htmldocs or
make pdfdocs. The formatted documentation can also be read online at:
https://www.kernel.org/doc/html/latest/
There are various text files in the Documentation/ subdirectory, several of them using the Restructured Text markup notation.
Please read the Documentation/process/changes.rst file, as it contains the requirements for building and running the kernel, and information about the problems which may result by upgrading your kernel.
Description
Languages
C
97.7%
Assembly
1.3%
Shell
0.3%
Makefile
0.3%
Python
0.2%
Other
0.1%