From 1876dbc76d8935014d266c6de306ff1d5ac5876a Mon Sep 17 00:00:00 2001 From: liuyc20 Date: Fri, 15 Oct 2021 11:50:17 +0800 Subject: [PATCH] power: add get charing current api for discrete_charger_class add get charing current api for discrete_charger_class factory tcmd will use this api Change-Id: I1a6011fcf7b936329e6ae1b7787b6e86078b8915 Signed-off-by: liuyc20 Reviewed-on: https://gerrit.mot.com/2090448 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Haijian Ma Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- .../mmi_discrete_charger/mmi_discrete_charger_class.c | 10 ++++++++++ include/linux/mmi_discrete_charger_class.h | 2 ++ 2 files changed, 12 insertions(+) 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);