Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt
Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt
File Facts
- System
- Linux kernel
- Corpus path
Documentation/devicetree/bindings/leds/leds-trigger-pattern.txt- Extension
.txt- Size
- 2008 bytes
- Lines
- 50
- Domain
- Support Tooling And Documentation
- Bucket
- Documentation
- Inferred role
- Support Tooling And Documentation: documentation
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
The pattern is given by a series of tuples, of brightness and duration (ms).
The LED is expected to traverse the series and each brightness value for the
specified duration. Duration of 0 means brightness should immediately change to
new value, and writing malformed pattern deactivates any active one.
1. For gradual dimming, the dimming interval now is set as 50 milliseconds. So
the tuple with duration less than dimming interval (50ms) is treated as a step
change of brightness, i.e. the subsequent brightness will be applied without
adding intervening dimming intervals.
The gradual dimming format of the software pattern values should be:
"brightness_1 duration_1 brightness_2 duration_2 brightness_3 duration_3 ...".
For example (using sysfs interface):
echo 0 1000 255 2000 > pattern
It will make the LED go gradually from zero-intensity to max (255) intensity in
1000 milliseconds, then back to zero intensity in 2000 milliseconds:
LED brightness
^
255-| / \ / \ /
| / \ / \ /
| / \ / \ /
| / \ / \ /
0-| / \/ \/
+---0----1----2----3----4----5----6------------> time (s)
2. To make the LED go instantly from one brightness value to another, we should
use zero-time lengths (the brightness must be same as the previous tuple's). So
the format should be: "brightness_1 duration_1 brightness_1 0 brightness_2
duration_2 brightness_2 0 ...".
For example (using sysfs interface):
echo 0 1000 0 0 255 2000 255 0 > pattern
It will make the LED stay off for one second, then stay at max brightness for
two seconds:
LED brightness
^
255-| +---------+ +---------+
| | | | |
| | | | |
| | | | |
0-| -----+ +----+ +----
+---0----1----2----3----4----5----6------------> time (s)
Annotation
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.