summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSubbaraman Narayanamurthy <subbaram@codeaurora.org>2016-10-25 15:54:50 -0700
committerSubbaraman Narayanamurthy <subbaram@codeaurora.org>2016-10-25 20:32:58 -0700
commit71d0b505608b8838935e7df68a7c955f814c3c8f (patch)
tree5618b10ce03e41f52d603911e566b6c6a9f7f9e8
parent46aa49c1188a77f52dc4969f82292c176d8f399b (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.c4
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;
}