From 7645003f1eff45a53320cf2c6ccc0c9902503978 Mon Sep 17 00:00:00 2001 From: liuyc20 Date: Mon, 18 Oct 2021 15:32:55 +0800 Subject: [PATCH] power: discrete charger policy create force_chg_fail_clear create force_chg_fail_clear node for compatible with tcmd test. Change-Id: Id7aab73731e9bc689036c5fee34f7738f603fdf8 Signed-off-by: liuyc20 Reviewed-on: https://gerrit.mot.com/2091898 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- .../mmi_discrete_factory_tcmd.c | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/drivers/power/mmi_discrete_charger/mmi_discrete_factory_tcmd.c b/drivers/power/mmi_discrete_charger/mmi_discrete_factory_tcmd.c index fe78ee25f450..05470ac1644b 100644 --- a/drivers/power/mmi_discrete_charger/mmi_discrete_factory_tcmd.c +++ b/drivers/power/mmi_discrete_charger/mmi_discrete_factory_tcmd.c @@ -251,6 +251,37 @@ static DEVICE_ATTR(force_chg_iusb, 0664, force_chg_iusb_show, force_chg_iusb_store); +static ssize_t force_chg_fail_clear_store(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + unsigned long r; + unsigned long mode; + + r = kstrtoul(buf, 0, &mode); + if (r) { + pr_err("mmi_discrete_charger: Invalid chg fail mode value = %lu\n", mode); + return -EINVAL; + } + + /* do nothing for mmi_discrete_charger */ + r = 0; + + return r ? r : count; +} + +static ssize_t force_chg_fail_clear_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + /* do nothing for mmi_discrete_charger */ + return scnprintf(buf, CHG_SHOW_MAX_SIZE, "0\n"); +} + +static DEVICE_ATTR(force_chg_fail_clear, 0664, + force_chg_fail_clear_show, + force_chg_fail_clear_store); + int mmi_discrete_create_factory_testcase(struct mmi_discrete_charger *chip) { @@ -284,6 +315,14 @@ int mmi_discrete_create_factory_testcase(struct mmi_discrete_charger *chip) "Couldn't create force_chg_iusb\n"); } + rc = device_create_file(chip->dev, + &dev_attr_force_chg_fail_clear); + if (rc) { + mmi_err(chip, + "Couldn't create force_chg_fail_clear\n"); + } + + return rc; }