summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/leds/leds-lm3530.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/leds/leds-lm3530.c b/drivers/leds/leds-lm3530.c
index 9f49d9550e88..968fd5fef4fc 100644
--- a/drivers/leds/leds-lm3530.c
+++ b/drivers/leds/leds-lm3530.c
@@ -160,9 +160,16 @@ static int lm3530_init_registers(struct lm3530_data *drvdata)
gen_config = (pdata->brt_ramp_law << LM3530_RAMP_LAW_SHIFT) |
((pdata->max_current & 7) << LM3530_MAX_CURR_SHIFT);
- if (drvdata->mode == LM3530_BL_MODE_MANUAL ||
- drvdata->mode == LM3530_BL_MODE_ALS)
- gen_config |= (LM3530_ENABLE_I2C);
+ switch (drvdata->mode) {
+ case LM3530_BL_MODE_MANUAL:
+ case LM3530_BL_MODE_ALS:
+ gen_config |= LM3530_ENABLE_I2C;
+ break;
+ case LM3530_BL_MODE_PWM:
+ gen_config |= LM3530_ENABLE_PWM | LM3530_ENABLE_PWM_SIMPLE |
+ (pdata->pwm_pol_hi << LM3530_PWM_POL_SHIFT);
+ break;
+ }
if (drvdata->mode == LM3530_BL_MODE_ALS) {
if (pdata->als_vmax == 0) {
@@ -196,11 +203,6 @@ static int lm3530_init_registers(struct lm3530_data *drvdata)
}
- if (drvdata->mode == LM3530_BL_MODE_PWM)
- gen_config |= (LM3530_ENABLE_PWM) |
- (pdata->pwm_pol_hi << LM3530_PWM_POL_SHIFT) |
- (LM3530_ENABLE_PWM_SIMPLE);
-
brt_ramp = (pdata->brt_ramp_fall << LM3530_BRT_RAMP_FALL_SHIFT) |
(pdata->brt_ramp_rise << LM3530_BRT_RAMP_RISE_SHIFT);