diff options
| author | Subbaraman Narayanamurthy <subbaram@codeaurora.org> | 2016-10-25 15:54:50 -0700 |
|---|---|---|
| committer | Subbaraman Narayanamurthy <subbaram@codeaurora.org> | 2016-10-25 20:32:58 -0700 |
| commit | 71d0b505608b8838935e7df68a7c955f814c3c8f (patch) | |
| tree | 5618b10ce03e41f52d603911e566b6c6a9f7f9e8 | |
| parent | 46aa49c1188a77f52dc4969f82292c176d8f399b (diff) | |
leds: qpnp-flash-v2: fix ITARGET configuration
Currently, the code calculated to write to ITARGET based on the
brightness level or current is off by 2 bits. Fix it.
CRs-Fixed: 1079311
Change-Id: I58421ba7f784f7467015a5943aecc2dd0022145a
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
| -rw-r--r-- | drivers/leds/leds-qpnp-flash-v2.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/leds/leds-qpnp-flash-v2.c b/drivers/leds/leds-qpnp-flash-v2.c index bc94dff08d21..6bf3761d1ac9 100644 --- a/drivers/leds/leds-qpnp-flash-v2.c +++ b/drivers/leds/leds-qpnp-flash-v2.c @@ -82,6 +82,7 @@ #define VPH_DROOP_THRESH_MV_TO_VAL(val_mv) ((val_mv / 100) - 25) #define VPH_DROOP_THRESH_VAL_TO_UV(val) ((val + 25) * 100000) #define MITIGATION_THRSH_MA_TO_VAL(val_ma) (val_ma / 100) +#define CURRENT_MA_TO_REG_VAL(curr_ma, ires_ua) ((curr_ma * 1000) / ires_ua - 1) #define FLASH_LED_ISC_WARMUP_DELAY_SHIFT 6 #define FLASH_LED_WARMUP_DELAY_DEFAULT 2 @@ -738,7 +739,8 @@ static void qpnp_flash_led_node_set(struct flash_node_data *fnode, int value) prgm_current_ma = min(prgm_current_ma, fnode->max_current); fnode->current_ma = prgm_current_ma; fnode->cdev.brightness = prgm_current_ma; - fnode->current_reg_val = prgm_current_ma * 1000 / fnode->ires_ua + 1; + fnode->current_reg_val = CURRENT_MA_TO_REG_VAL(prgm_current_ma, + fnode->ires_ua); fnode->led_on = prgm_current_ma != 0; } |
