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>
This commit is contained in:
@@ -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*/
|
||||
|
Reference in New Issue
Block a user