mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 15:11:48 -04:00
discrete:optimize charging enabled interface
Consider the input suspend status to charging enabled interface. Change-Id: Ie49bc9f02cafdbc7471b06b6660c140970ca8ab8 Signed-off-by: xuwei9 <xuwei9@lenovo.com> Reviewed-on: https://gerrit.mot.com/2169116 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Wang Wang <wangwang1@lenovo.com> Submit-Approved: Jira Key
This commit is contained in:
parent
3eb5c1a999
commit
061526fb73
3 changed files with 33 additions and 3 deletions
|
|
@ -1998,6 +1998,31 @@ int mmi_discrete_get_charging_enabled(struct mmi_discrete_charger *chip, bool *v
|
|||
return rc;
|
||||
}
|
||||
|
||||
int mmi_discrete_get_charger_suspend(struct mmi_discrete_charger *chip, bool *val)
|
||||
{
|
||||
int i;
|
||||
bool charger_suspend = false;
|
||||
struct mmi_charger_cfg *cfg;
|
||||
|
||||
if (!chip->chg_clients || !chip->chg_client_num) {
|
||||
mmi_err(chip, "Invalid charger client\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (i = 0; i < chip->chg_client_num; i++) {
|
||||
cfg = &chip->chg_clients[i].chg_cfg;
|
||||
if (cfg->charger_suspend) {
|
||||
charger_suspend = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
*val = charger_suspend;
|
||||
mmi_dbg(chip, "mmi_discrete_get_charger_suspend val:%d\n",*val);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mmi_discrete_get_qc3p_power(struct mmi_discrete_charger *chip, int *val)
|
||||
{
|
||||
int rc = 0;
|
||||
|
|
|
|||
|
|
@ -141,5 +141,6 @@ int mmi_discrete_config_termination_enabled(struct mmi_discrete_charger *chip, i
|
|||
int mmi_discrete_get_qc3p_power(struct mmi_discrete_charger *chip, int *val);
|
||||
int mmi_discrete_get_pulse_cnt(struct mmi_discrete_charger *chip, int *count);
|
||||
int mmi_discrete_set_dp_dm(struct mmi_discrete_charger *chip, int val);
|
||||
int mmi_discrete_get_charger_suspend(struct mmi_discrete_charger *chip, bool *val);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ static int mmi_discrete_iio_read_raw(struct iio_dev *indio_dev,
|
|||
{
|
||||
struct mmi_discrete_charger *chip = iio_priv(indio_dev);
|
||||
int rc = 0;
|
||||
bool val_bool = false;
|
||||
bool val_bool = false, val_suspend = false;
|
||||
*val1 = 0;
|
||||
|
||||
switch (chan->channel) {
|
||||
|
|
@ -75,8 +75,12 @@ static int mmi_discrete_iio_read_raw(struct iio_dev *indio_dev,
|
|||
rc = mmi_discrete_get_hw_current_max(chip, val1);
|
||||
break;
|
||||
case PSY_IIO_USB_CHARGING_ENABLED:
|
||||
rc = mmi_discrete_get_charging_enabled(chip, &val_bool);
|
||||
*val1 = val_bool?1:0;
|
||||
mmi_discrete_get_charging_enabled(chip, &val_bool);
|
||||
mmi_discrete_get_charger_suspend(chip, &val_suspend);
|
||||
if(val_bool && !val_suspend)
|
||||
*val1 = 1;
|
||||
else
|
||||
*val1 = 0;
|
||||
break;
|
||||
case PSY_IIO_MMI_QC3P_POWER:
|
||||
rc = mmi_discrete_get_qc3p_power(chip, val1);
|
||||
|
|
|
|||
Loading…
Reference in a new issue