summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorMark A. Greer2013-07-25 19:16:41 +0200
committerBryan Wu2013-08-27 02:22:10 +0200
commit8465b01827b7a1e0e2464b0a300618bf7add25d8 (patch)
treea06c6620291ab5a0a8e9eb7e5507e9d089ba7139 /include/linux
parentleds: support new LP8501 device - another LP55xx common (diff)
downloadkernel-qcow2-linux-8465b01827b7a1e0e2464b0a300618bf7add25d8.tar.gz
kernel-qcow2-linux-8465b01827b7a1e0e2464b0a300618bf7add25d8.tar.xz
kernel-qcow2-linux-8465b01827b7a1e0e2464b0a300618bf7add25d8.zip
leds: pca9633: Add hardware blink support
Add hardware blinking support to the pca9633 driver. NOTE: Hardware blinking violates the leds infrastructure driver interface since the hardware only supports blinking all LEDs with the same delay_on/delay_off rates. That is, only the LEDs that are set to blink will actually blink but all LEDs that are set to blink will blink in identical fashion. The delay_on/delay_off values of the last LED that is set to blink will be used for all of the blinking LEDs. If the hardware doesn't support the requested blinking pattern, a default of 500ms on and off will be used. Hardware blinking is disabled by default but can be enabled by setting the 'blink_type' member in the platform_data struct to 'PCA9633_HW_BLINK' or by adding the 'nxp,hw-blink' property to the DTS. (fengguang.wu@intel.com: Removes unneeded semicolon.) Signed-off-by: Mark A. Greer <mgreer@animalcreek.com> Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Bryan Wu <cooloney@gmail.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/platform_data/leds-pca9633.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/platform_data/leds-pca9633.h b/include/linux/platform_data/leds-pca9633.h
index c5bf29b6fa7f..3c1037a81d34 100644
--- a/include/linux/platform_data/leds-pca9633.h
+++ b/include/linux/platform_data/leds-pca9633.h
@@ -27,9 +27,15 @@ enum pca9633_outdrv {
PCA9633_TOTEM_POLE, /* aka push-pull */
};
+enum pca9633_blink_type {
+ PCA9633_SW_BLINK,
+ PCA9633_HW_BLINK,
+};
+
struct pca9633_platform_data {
struct led_platform_data leds;
enum pca9633_outdrv outdrv;
+ enum pca9633_blink_type blink_type;
};
#endif /* __LINUX_PCA9633_H*/