* [PATCH 1/11] LED Class Documentation
@ 2006-01-31 13:41 Richard Purdie
2006-02-01 19:52 ` Pavel Machek
0 siblings, 1 reply; 2+ messages in thread
From: Richard Purdie @ 2006-01-31 13:41 UTC (permalink / raw)
To: LKML
Add some brief documentation of the design decisions behind the LED
class and how it appears to users.
Signed-off-by Richard Purdie <rpurdie@rpsys.net>
Index: linux-2.6.15/Documentation/leds-class.txt
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ linux-2.6.15/Documentation/leds-class.txt 2006-01-31 12:42:59.000000000 +0000
@@ -0,0 +1,71 @@
+LED handling under Linux
+========================
+
+If you're reading this and thinking about keyboard leds, these are
+handled by the input subsystem and the led class is *not* needed.
+
+In its simplest form, the LED class just allows control of LEDs from
+userspace. LEDs appear in /sys/class/leds/. The brightness file will
+set the brightness of the LED (taking a value 0-255). Most LEDs don't
+have hardware brightness support so will just be turned on for none zero
+brightness settings.
+
+The class also introduces the optional concept of an LED trigger. A trigger
+is a kernel based source of led events. Triggers can either be simple or
+complex. A simple trigger isn't configurable and is designed to slot into
+existing subsystems with minimal additional code. Examples are the ide-disk,
+nand-disk and sharpsl-charge triggers. With led triggers disabled, the code
+optimises away.
+
+Complex triggers whilst available to all LEDs have LED specific
+parameters and work on a per LED basis. The timer trigger is an example.
+
+You can change triggers in a similar manner to the way an IO scheduler
+is chosen (via /sys/class/leds/<device>/trigger). Trigger specific
+parameters can appear in /sys/class/leds/<device> once a given trigger is
+selected.
+
+
+Design Philosophy
+=================
+
+The underlying design philosophy is simplicity. LEDs are simple devices
+and the aim is to keep a small amount of code giving as much functionality
+as possible. Please keep this in mind when suggesting enhancements.
+
+
+LED Device Naming
+=================
+
+Is currently of the form:
+
+"devicename:colour"
+
+There have been calls for LED properties such as colour to be exported as
+individual led class attributes. As a solution which doesn't incur as much
+overhead, I suggest these become part of the device name. The naming scheme
+above leaves scope for further attributes should they be needed.
+
+
+Known Issues
+============
+
+The LED Trigger core cannot be a module as the simple trigger functions
+would cause nightmare dependency issues. I see this as a minor issue
+compared to the benefits the simple trigger functionality brings. The
+rest of the LED subsystem can be modular.
+
+Some leds can be programmed to flash in hardware. As this isn't a generic
+LED device property, this should be exported as a device specific sysfs
+attribute rather than part of the class if this functionality is required.
+
+
+Future Development
+==================
+
+At the moment, a trigger can't be created specifically for a single LED.
+There are a number of cases where a trigger might only be mappable to a
+particular LED (ACPI?). The addition of triggers provided by the LED driver
+should cover this option and be possible to add without breaking the
+current interface.
+
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH 1/11] LED Class Documentation
2006-01-31 13:41 [PATCH 1/11] LED Class Documentation Richard Purdie
@ 2006-02-01 19:52 ` Pavel Machek
0 siblings, 0 replies; 2+ messages in thread
From: Pavel Machek @ 2006-02-01 19:52 UTC (permalink / raw)
To: Richard Purdie; +Cc: LKML
Hi!
> +have hardware brightness support so will just be turned on for none zero
> +brightness settings.
non-zero?
Pavel
--
Thanks, Sharp!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-02-02 15:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-31 13:41 [PATCH 1/11] LED Class Documentation Richard Purdie
2006-02-01 19:52 ` Pavel Machek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®