nuttx/Documentation/components/drivers/special
Justin Hammond 774397b332 drivers/reset: Add line read-back and a procfs entry.
status() reads one reset line at a time, and only for a caller that
already knows the id.  Nothing else in the interface says how many lines
a controller has or what any of them resets, so the lines a board is
holding cannot be surveyed.

Adds an optional get_line method describing one line as a structure: its
name, and a text member for controller specific fields the structure
does not cover.  The asserted state stays with status(), which already
reports it, so a controller does not supply the same fact twice.
Returning -ENODEV reports an id that names no line, which is how
controllers with gaps in their numbering are handled.
reset_controller_dev gains the line count that bounds the ids.

CONFIG_RESET_PROCFS adds /proc/reset, one key:value line per reset line,
every line the same tokens in the same order so the file is machine
parseable.  A controller without get_line is listed by name and a note.

The controller list already existed for reset_control_get() to search,
so the renderer only walks what was there.  /proc/reset is claimed when
the first controller registers; procfs_register() requires that procfs
is not yet mounted, which holds because controllers register during
board or architecture start up, and it appends without checking for
duplicates, so the entry is claimed once for the lifetime of the system.

Documents the framework, which had a page with nothing on it: the
consumer interface and what shared and exclusive handles mean, the
controller interface, the new method, and /proc/reset.

Off by default and costs nothing when off.  No in-tree configuration
enables RESET, so this builds only when a board turns it on.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Justin Hammond <justin@dynam.ac>
2026-08-21 20:07:01 +08:00
..
image docs/syslog: add syslog configuration options documentation 2026-02-27 08:09:31 -03:00
mtd Documentation: add pages for supported MTD devices 2025-12-31 11:37:49 +08:00
net net/vlan: add some macro for vlan 2025-12-27 11:36:39 +08:00
pci drivers/net: add IGB network card support 2025-07-08 10:02:15 +02:00
power drivers/power: Describe the regulators through procfs. 2026-08-18 17:28:02 +08:00
rpmsg Documentation/rpmsg: add rpmsg dump documentation 2026-01-30 07:50:11 -03:00
rptun Documents/rptun: add the new rptun framework documents 2026-01-19 14:18:27 +08:00
sensors sensors/tmp112: Add a uORB interface. 2026-08-18 10:35:28 -03:00
vhost Documentation/vhost: add Vhost framework documentation 2026-02-04 02:32:02 +08:00
virtio Documentation/virtio: add VirtIO framework documentation 2026-01-28 13:09:19 -03:00
wireless Documentation: Add documentation for RN2XX3 driver 2025-03-06 06:10:19 -03:00
audio.rst docs/audio_tone: Add documentation about the audio tone driver 2026-07-13 09:42:26 +08:00
clk.rst Documentation: add dummy pages for missing filesystems and drivers 2023-10-27 13:21:40 -03:00
devfreq.rst sim/thermal: Exercise the devfreq cooling path. 2026-08-18 09:46:47 -03:00
devicetree.rst Documentation: add dummy pages for missing filesystems and drivers 2023-10-27 13:21:40 -03:00
devmem.rst driver/mem:add Mem Driver. 2024-08-28 13:59:04 +08:00
dma.rst Documentation: add dummy pages for missing filesystems and drivers 2023-10-27 13:21:40 -03:00
framebuffer.rst docs: Fix sphinx warnings listed in issue #9306 2023-05-20 12:40:52 +08:00
i2c.rst Documentation: Add I2C bit-bang IO expander driver documentation 2026-01-01 17:08:47 +08:00
i3c.rst drivers/i3c: update i3c driver documentation 2024-09-24 23:36:50 +08:00
index.rst Documentation: add devfreq framework documentation 2026-08-08 15:23:54 -03:00
ioexpander.rst documentation: mention PIO4IOE IO Expander 2026-07-28 10:18:01 +08:00
lcd.rst !arch/stm32: move stm32l1 and finalize the directory split 2026-06-24 14:54:44 -03:00
mmcsd.rst drivers/mmcsd: Switch SD cards into high speed. 2026-08-18 09:38:45 +08:00
pinctrl.rst drivers/pinctrl: Add pad read-back and a procfs entry. 2026-08-21 20:04:59 +08:00
pipes.rst Documentation: add dummy pages for missing filesystems and drivers 2023-10-27 13:21:40 -03:00
ptp.rst Documentation: Add PTP clock driver framework documentation 2025-12-30 10:22:09 -03:00
regmap.rst Documentation: migrate /drivers 2023-10-26 00:08:54 +08:00
reset.rst drivers/reset: Add line read-back and a procfs entry. 2026-08-21 20:07:01 +08:00
rwbuffer.rst Documentation: migrate /drivers 2023-10-26 00:08:54 +08:00
sdio.rst drivers/mmcsd: Switch SD cards into high speed. 2026-08-18 09:38:45 +08:00
segger.rst style: Fix "the the" typo across the codebase. 2026-03-23 11:07:49 +01:00
sensors.rst sensors/tmp112: Add a uORB interface. 2026-08-18 10:35:28 -03:00
spi.rst documentation: split device drivers sections into individual documents 2020-09-06 10:58:12 -03:00
syslog.rst include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
sysview.png Documentation: add segger sysview heap trace example 2024-10-07 17:34:59 +08:00
usbdev.rst !arch/stm32: move stm32l1 and finalize the directory split 2026-06-24 14:54:44 -03:00
usbhost.rst !arch/stm32: move stm32l1 and finalize the directory split 2026-06-24 14:54:44 -03:00
usbmisc.rst Documentation: add dummy pages for missing filesystems and drivers 2023-10-27 13:21:40 -03:00
usbmonitor.rst style: fix typos 2025-04-30 13:45:46 +08:00
usbmonitor_wireshark_linux_example_adb.pcapng Documentation: Add usage of Wireshark for USB monitor 2025-01-22 15:17:38 +08:00
usbmonitor_wireshark_linux_example_adb.png Documentation: Add usage of Wireshark for USB monitor 2025-01-22 15:17:38 +08:00
usrsock.rst Documentation: add dummy pages for missing filesystems and drivers 2023-10-27 13:21:40 -03:00
uvc.rst drivers/usbdev: add UVC gadget class driver 2026-03-29 12:35:22 -03:00
video.rst Documentation: add dummy pages for missing filesystems and drivers 2023-10-27 13:21:40 -03:00
wireless.rst Documentation: Add documentation for RN2XX3 driver 2025-03-06 06:10:19 -03:00