Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 37b8ea65 authored by Ashay Jaiswal's avatar Ashay Jaiswal Committed by Harry Yang
Browse files

qcom: battery: reorganize creation of votables in SMB library



Move all "find_votable" requests before any voter creation
in smb library to prevent multiple creation/destruction of
votables due to probe-deferrals.

CRs-Fixed: 2001651
Change-Id: I03cb30775720a53ad24e1c5d5e075d7442b2729c
Signed-off-by: default avatarAshay Jaiswal <ashayj@codeaurora.org>
parent c9fca580
Loading
Loading
Loading
Loading
+19 −19
Original line number Diff line number Diff line
@@ -3370,6 +3370,25 @@ static int smblib_create_votables(struct smb_charger *chg)
{
	int rc = 0;

	chg->fcc_votable = find_votable("FCC");
	if (!chg->fcc_votable) {
		rc = -EPROBE_DEFER;
		return rc;
	}

	chg->fv_votable = find_votable("FV");
	if (!chg->fv_votable) {
		rc = -EPROBE_DEFER;
		return rc;
	}

	chg->pl_disable_votable = find_votable("PL_DISABLE");
	if (!chg->pl_disable_votable) {
		rc = -EPROBE_DEFER;
		return rc;
	}
	vote(chg->pl_disable_votable, PL_INDIRECT_VOTER, true, 0);

	chg->usb_suspend_votable = create_votable("USB_SUSPEND", VOTE_SET_ANY,
					smblib_usb_suspend_vote_callback,
					chg);
@@ -3394,18 +3413,6 @@ static int smblib_create_votables(struct smb_charger *chg)
		return rc;
	}

	chg->fcc_votable = find_votable("FCC");
	if (!chg->fcc_votable) {
		rc = -EPROBE_DEFER;
		return rc;
	}

	chg->fv_votable = find_votable("FV");
	if (!chg->fv_votable) {
		rc = -EPROBE_DEFER;
		return rc;
	}

	chg->usb_icl_votable = create_votable("USB_ICL", VOTE_MIN,
					smblib_usb_icl_vote_callback,
					chg);
@@ -3445,13 +3452,6 @@ static int smblib_create_votables(struct smb_charger *chg)
		return rc;
	}

	chg->pl_disable_votable = find_votable("PL_DISABLE");
	if (!chg->pl_disable_votable) {
		rc = -EPROBE_DEFER;
		return rc;
	}
	vote(chg->pl_disable_votable, PL_INDIRECT_VOTER, true, 0);

	chg->chg_disable_votable = create_votable("CHG_DISABLE", VOTE_SET_ANY,
					smblib_chg_disable_vote_callback,
					chg);