Merge tag 'leds_for_4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds
Pull LED updates from Jacek Anaszewski: - userspace LED class driver - it can be useful for testing triggers and can also be used to implement virtual LEDs - LED class driver for NIC78bx device - LED core fixes for preventing potential races while setting brightness when software blinking is enabled - improvements in LED documentation to mention semantics on changing brightness while trigger is active * tag 'leds_for_4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: leds: pca955x: Add ACPI support leds: netxbig: fix module autoload for OF registration leds: pca963x: Add ACPI support leds: leds-cobalt-raq: use builtin_platform_driver led: core: Fix blink_brightness setting race led: core: Use atomic bit-field for the blink-flags leds: Add user LED driver for NIC78bx device leds: verify vendor and change license in mlxcpld driver leds: pca963x: enable low-power state leds: pca9532: Use default trigger value from platform data leds: pca963x: workaround group blink scaling issue cleanup LED documentation and make it match reality leds: lp3952: Export I2C module alias information for module autoload leds: mc13783: Fix MC13892 keypad led access ledtrig-cpu.c: fix english leds/leds-lp5523.txt: make documentation match reality tools/leds: Add uledmon program for monitoring userspace LEDs leds: Use macro for max device node name size leds: Introduce userspace LED class driver mfd: qcom-pm8xxx: Clean up PM8XXX namespace
这个提交包含在:
@@ -4,16 +4,24 @@ KernelVersion: 2.6.17
|
||||
Contact: Richard Purdie <rpurdie@rpsys.net>
|
||||
Description:
|
||||
Set the brightness of the LED. Most LEDs don't
|
||||
have hardware brightness support so will just be turned on for
|
||||
have hardware brightness support, so will just be turned on for
|
||||
non-zero brightness settings. The value is between 0 and
|
||||
/sys/class/leds/<led>/max_brightness.
|
||||
|
||||
Writing 0 to this file clears active trigger.
|
||||
|
||||
Writing non-zero to this file while trigger is active changes the
|
||||
top brightness trigger is going to use.
|
||||
|
||||
What: /sys/class/leds/<led>/max_brightness
|
||||
Date: March 2006
|
||||
KernelVersion: 2.6.17
|
||||
Contact: Richard Purdie <rpurdie@rpsys.net>
|
||||
Description:
|
||||
Maximum brightness level for this led, default is 255 (LED_FULL).
|
||||
Maximum brightness level for this LED, default is 255 (LED_FULL).
|
||||
|
||||
If the LED does not support different brightness levels, this
|
||||
should be 1.
|
||||
|
||||
What: /sys/class/leds/<led>/trigger
|
||||
Date: March 2006
|
||||
@@ -21,7 +29,7 @@ KernelVersion: 2.6.17
|
||||
Contact: Richard Purdie <rpurdie@rpsys.net>
|
||||
Description:
|
||||
Set the trigger for this LED. A trigger is a kernel based source
|
||||
of led events.
|
||||
of LED events.
|
||||
You can change triggers in a similar manner to the way an IO
|
||||
scheduler is chosen. Trigger specific parameters can appear in
|
||||
/sys/class/leds/<led> once a given trigger is selected. For
|
||||
|
@@ -7,6 +7,9 @@ Optional properties:
|
||||
- nxp,totem-pole : use totem pole (push-pull) instead of open-drain (pca9632 defaults
|
||||
to open-drain, newer chips to totem pole)
|
||||
- nxp,hw-blink : use hardware blinking instead of software blinking
|
||||
- nxp,period-scale : In some configurations, the chip blinks faster than expected.
|
||||
This parameter provides a scaling ratio (fixed point, decimal divided
|
||||
by 1000) to compensate, e.g. 1300=1.3x and 750=0.75x.
|
||||
|
||||
Each led is represented as a sub-node of the nxp,pca963x device.
|
||||
|
||||
|
@@ -34,8 +34,8 @@ There are two ways to run LED patterns.
|
||||
Control interface for the engines:
|
||||
x is 1 .. 3
|
||||
enginex_mode : disabled, load, run
|
||||
enginex_load : microcode load (visible only in load mode)
|
||||
enginex_leds : led mux control (visible only in load mode)
|
||||
enginex_load : microcode load
|
||||
enginex_leds : led mux control
|
||||
|
||||
cd /sys/class/leds/lp5523:channel2/device
|
||||
echo "load" > engine3_mode
|
||||
|
36
Documentation/leds/uleds.txt
普通文件
36
Documentation/leds/uleds.txt
普通文件
@@ -0,0 +1,36 @@
|
||||
Userspace LEDs
|
||||
==============
|
||||
|
||||
The uleds driver supports userspace LEDs. This can be useful for testing
|
||||
triggers and can also be used to implement virtual LEDs.
|
||||
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
When the driver is loaded, a character device is created at /dev/uleds. To
|
||||
create a new LED class device, open /dev/uleds and write a uleds_user_dev
|
||||
structure to it (found in kernel public header file linux/uleds.h).
|
||||
|
||||
#define LED_MAX_NAME_SIZE 64
|
||||
|
||||
struct uleds_user_dev {
|
||||
char name[LED_MAX_NAME_SIZE];
|
||||
};
|
||||
|
||||
A new LED class device will be created with the name given. The name can be
|
||||
any valid sysfs device node name, but consider using the LED class naming
|
||||
convention of "devicename:color:function".
|
||||
|
||||
The current brightness is found by reading a single byte from the character
|
||||
device. Values are unsigned: 0 to 255. Reading will block until the brightness
|
||||
changes. The device node can also be polled to notify when the brightness value
|
||||
changes.
|
||||
|
||||
The LED class device will be removed when the open file handle to /dev/uleds
|
||||
is closed.
|
||||
|
||||
Multiple LED class devices are created by opening additional file handles to
|
||||
/dev/uleds.
|
||||
|
||||
See tools/leds/uledmon.c for an example userspace program.
|
在新工单中引用
屏蔽一个用户