diff --git a/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c b/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c index d951b0dcc5dc..251ef20c0c56 100644 --- a/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c +++ b/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.c @@ -108,7 +108,7 @@ static int mmi_discrete_parse_dts(struct mmi_discrete_charger *chip) } } - chip->pd_not_supported = of_property_read_bool(node, "mmi,usb-pd-disable"); + chip->pd_supported = of_property_read_bool(node, "mmi,usb-pd-supported"); return 0; } @@ -1368,9 +1368,10 @@ static int mmi_discrete_usb_get_prop(struct power_supply *psy, /*when in COM, pd will trigger hard reset to let source send source_cap. *but pd hard reset will closed vbus and re-enable vbus by adaptor, so usb *present will return 0 to let COM shutdown. Typec mode is always on.*/ - if (chip->typec_mode == MMI_POWER_SUPPLY_TYPEC_SOURCE_DEFAULT + if (chip->pd_supported && + (chip->typec_mode == MMI_POWER_SUPPLY_TYPEC_SOURCE_DEFAULT || chip->typec_mode == MMI_POWER_SUPPLY_TYPEC_SOURCE_MEDIUM - || chip->typec_mode == MMI_POWER_SUPPLY_TYPEC_SOURCE_HIGH) { + || chip->typec_mode == MMI_POWER_SUPPLY_TYPEC_SOURCE_HIGH)) { val->intval = 1; break; } diff --git a/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.h b/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.h index d8b31add7a4e..40d94d2fb833 100644 --- a/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.h +++ b/drivers/power/mmi_discrete_charger/mmi_discrete_charger_core.h @@ -107,7 +107,7 @@ struct mmi_discrete_charger { /*PD*/ struct adapter_device *pd_adapter_dev; int pd_active; - bool pd_not_supported; + bool pd_supported; int dc_cl_ma; int batt_profile_fv_uv;