diff options
Diffstat (limited to 'drivers/misc/twl4030_led.c')
| -rw-r--r-- | drivers/misc/twl4030_led.c | 18 | 
1 files changed, 7 insertions, 11 deletions
| diff --git a/drivers/misc/twl4030_led.c b/drivers/misc/twl4030_led.c index bfdafef38..33cea116d 100644 --- a/drivers/misc/twl4030_led.c +++ b/drivers/misc/twl4030_led.c @@ -34,19 +34,15 @@  #include <twl4030.h> -#define LEDAON			(0x1 << 0) -#define LEDBON			(0x1 << 1) -#define LEDAPWM			(0x1 << 4) -#define LEDBPWM			(0x1 << 5) - -void twl4030_led_init(void) +void twl4030_led_init(unsigned char ledon_mask)  { -	unsigned char byte; - -	/* enable LED */ -	byte = LEDBPWM | LEDAPWM | LEDBON | LEDAON; +	/* LEDs need to have corresponding PWMs enabled */ +	if (ledon_mask & TWL4030_LED_LEDEN_LEDAON) +		ledon_mask |= TWL4030_LED_LEDEN_LEDAPWM; +	if (ledon_mask & TWL4030_LED_LEDEN_LEDBON) +		ledon_mask |= TWL4030_LED_LEDEN_LEDBPWM; -	twl4030_i2c_write_u8(TWL4030_CHIP_LED, byte, +	twl4030_i2c_write_u8(TWL4030_CHIP_LED, ledon_mask,  			     TWL4030_LED_LEDEN);  } |