power: supply: smb5: Fix moisture detection exit condition

When USB is connected and moisture detected we disable USB_ICL
with LPD_VOTER. This voter is not removed until usb is removed.
Fix this by removing LPD_VOTER vote from ICL when LPD bit is not
set with usb connected.

Change-Id: I188f5d94bc3ec3527ddccf116a6a68a4b9ddea6d
Signed-off-by: Ashish Chavan <quic_ashichav@quicinc.com>
This commit is contained in:
Ashish Chavan 2022-02-20 14:44:17 +05:30
commit 11642ca31e

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2018-2022 The Linux Foundation. All rights reserved.
*/
#include <linux/device.h>
@ -8047,6 +8047,9 @@ static void smblib_lpd_ra_open_work(struct work_struct *work)
if (!(stat & TYPEC_WATER_DETECTION_STATUS_BIT)
|| (stat & TYPEC_TCCDEBOUNCE_DONE_STATUS_BIT)) {
chg->lpd_stage = LPD_STAGE_NONE;
/* Remove LPD_VOTER from ICL is moisture status is gone in attached state. */
vote(chg->usb_icl_votable, LPD_VOTER, false, 0);
goto out;
}