diff --git a/drivers/power/mmi_discrete_charger/mmi_discrete_charger_class.c b/drivers/power/mmi_discrete_charger/mmi_discrete_charger_class.c index 7fe6f28044c7..d4a518c3ac61 100644 --- a/drivers/power/mmi_discrete_charger/mmi_discrete_charger_class.c +++ b/drivers/power/mmi_discrete_charger/mmi_discrete_charger_class.c @@ -51,6 +51,16 @@ int charger_dev_set_charging_current(struct charger_device *chg_dev, u32 uA) } EXPORT_SYMBOL(charger_dev_set_charging_current); +int charger_dev_get_charging_current(struct charger_device *chg_dev, u32 *uA) +{ + if (chg_dev != NULL && chg_dev->ops != NULL && + chg_dev->ops->get_charging_current) + return chg_dev->ops->get_charging_current(chg_dev, uA); + + return -ENOTSUPP; +} +EXPORT_SYMBOL(charger_dev_get_charging_current); + int charger_dev_enable_charging(struct charger_device *chg_dev, bool en) { if (chg_dev != NULL && chg_dev->ops != NULL && diff --git a/include/linux/mmi_discrete_charger_class.h b/include/linux/mmi_discrete_charger_class.h index 59f10f396882..8e8c04b21fcb 100644 --- a/include/linux/mmi_discrete_charger_class.h +++ b/include/linux/mmi_discrete_charger_class.h @@ -97,6 +97,8 @@ extern int charger_dev_set_constant_voltage(struct charger_device *chg_dev, u32 extern int charger_dev_set_charging_current(struct charger_device *chg_dev, u32 uA); +extern int charger_dev_get_charging_current(struct charger_device *chg_dev, u32 *uA); + extern int charger_dev_enable_charging(struct charger_device *chg_dev, bool en); extern int charger_dev_is_enabled_charging(struct charger_device *chg_dev, bool *en);