mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
leds: qpnp-flash-v2: Update IRES for active LEDs
Currently, whenever the switch LED device is triggered, IRES is updated based on the LEDs belonging to that switch LED device. However, this can overwrite IRES configuration if flash and torch LED devices have different IRES since they share the same id. Fix this by checking the active LED status which will be updated based on the brightness level set so that IRES will be updated for the correct LED (flash/torch) device. CRs-Fixed: 2173127 Change-Id: Ic3b5db2f56758ccd68fd80139aeb22f31723130e Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
This commit is contained in:
parent
f960132e37
commit
9aef7d449f
@ -1108,10 +1108,11 @@ static int qpnp_flash_led_switch_set(struct flash_switch_data *snode, bool on)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/* Iterate over all leds for this switch node */
|
||||
/* Iterate over all active leds for this switch node */
|
||||
val = 0;
|
||||
for (i = 0; i < led->num_fnodes; i++)
|
||||
if (snode->led_mask & BIT(led->fnode[i].id))
|
||||
if (led->fnode[i].led_on &&
|
||||
snode->led_mask & BIT(led->fnode[i].id))
|
||||
val |= led->fnode[i].ires_idx << (led->fnode[i].id * 2);
|
||||
|
||||
rc = qpnp_flash_led_masked_write(led, FLASH_LED_REG_IRES(led->base),
|
||||
|
Loading…
x
Reference in New Issue
Block a user