From: 张晴 Date: Thu, 23 Oct 2014 08:59:08 +0000 (+0800) Subject: rk312x:rt5036:support power off when charge X-Git-Tag: firefly_0821_release~4540 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ef343c530a761e891cbb777dc4c0d359042b651c;p=firefly-linux-kernel-4.4.55.git rk312x:rt5036:support power off when charge --- diff --git a/drivers/mfd/rt5036-misc.c b/drivers/mfd/rt5036-misc.c index 9dd6ad6db022..3a3bd7c2df07 100755 --- a/drivers/mfd/rt5036-misc.c +++ b/drivers/mfd/rt5036-misc.c @@ -25,6 +25,7 @@ #include #include +#include static struct i2c_client *g_shdn; @@ -71,9 +72,17 @@ EXPORT_SYMBOL(rt5036_vin_exist); static bool rt_pm_off; void rt5036_chip_shutdown(void) { - if (g_shdn) { - rt5036_set_bits(g_shdn, RT5036_REG_MISC3, RT5036_CHIPSHDN_MASK); - rt5036_clr_bits(g_shdn, RT5036_REG_MISC3, RT5036_CHIPSHDN_MASK); + pr_info("%s\n", __func__); + if (rt5036_vin_exist()) { + arm_pm_restart('h', "charge"); + } else { + if (g_shdn) { + pr_info("chip enter shutdown process\n"); + rt5036_set_bits(g_shdn, RT5036_REG_MISC3, + RT5036_CHIPSHDN_MASK); + rt5036_clr_bits(g_shdn, RT5036_REG_MISC3, + RT5036_CHIPSHDN_MASK); + } } } EXPORT_SYMBOL(rt5036_chip_shutdown);