Merge tag 'tegra-for-4.8-i2c' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
[cascardo/linux.git] / Documentation / leds / ledtrig-oneshot.txt
1 One-shot LED Trigger
2 ====================
3
4 This is a LED trigger useful for signaling the user of an event where there are
5 no clear trap points to put standard led-on and led-off settings.  Using this
6 trigger, the application needs only to signal the trigger when an event has
7 happened, than the trigger turns the LED on and than keeps it off for a
8 specified amount of time.
9
10 This trigger is meant to be usable both for sporadic and dense events.  In the
11 first case, the trigger produces a clear single controlled blink for each
12 event, while in the latter it keeps blinking at constant rate, as to signal
13 that the events are arriving continuously.
14
15 A one-shot LED only stays in a constant state when there are no events.  An
16 additional "invert" property specifies if the LED has to stay off (normal) or
17 on (inverted) when not rearmed.
18
19 The trigger can be activated from user space on led class devices as shown
20 below:
21
22   echo oneshot > trigger
23
24 This adds sysfs attributes to the LED that are documented in:
25 Documentation/ABI/testing/sysfs-class-led-trigger-oneshot
26
27 Example use-case: network devices, initialization:
28
29   echo oneshot > trigger # set trigger for this led
30   echo 33 > delay_on     # blink at 1 / (33 + 33) Hz on continuous traffic
31   echo 33 > delay_off
32
33 interface goes up:
34
35   echo 1 > invert # set led as normally-on, turn the led on
36
37 packet received/transmitted:
38
39   echo 1 > shot # led starts blinking, ignored if already blinking
40
41 interface goes down
42
43   echo 0 > invert # set led as normally-off, turn the led off