diff options
author | Ćukasz Majewski <l.majewski@samsung.com> | 2013-06-25 15:28:15 +0200 |
---|---|---|
committer | Minkyu Kang <mk7.kang@samsung.com> | 2013-07-05 18:46:14 +0900 |
commit | 9dfa3d0734df4aad107def2c900d1514ac7510ac (patch) | |
tree | 1ee44c010011f8b5cc11fcae679de7d91a091cf3 /drivers | |
parent | 9199fce23968c9657e00b74ee44f41d0e0fe68b5 (diff) |
power:bat:trats: Break battery charging with ctrl+C
Add support for disabling battery charging with ctrl+C keyboard
combination pressed.
Moreover the battery update is done more frequently.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Tom Rini <trini@ti.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/power/battery/bat_trats.c | 13 | ||||
-rw-r--r-- | drivers/power/power_core.c | 3 |
2 files changed, 11 insertions, 5 deletions
diff --git a/drivers/power/battery/bat_trats.c b/drivers/power/battery/bat_trats.c index ca0d2146599..97a9661150f 100644 --- a/drivers/power/battery/bat_trats.c +++ b/drivers/power/battery/bat_trats.c @@ -41,18 +41,23 @@ static int power_battery_charge(struct pmic *bat) for (k = 0; bat->chrg->chrg_bat_present(p_bat->chrg) && bat->chrg->chrg_type(p_bat->muic) && battery->state_of_chrg < 100; k++) { - udelay(10000000); - puts("."); + udelay(2000000); + if (!(k % 5)) + puts("."); bat->fg->fg_battery_update(p_bat->fg, bat); - if (k == 100) { + if (k == 200) { debug(" %d [V]", battery->voltage_uV); puts("\n"); k = 0; } + if (ctrlc()) { + printf("\nCharging disabled on request.\n"); + goto exit; + } } - + exit: bat->chrg->chrg_state(p_bat->chrg, CHARGER_DISABLE, 0); return 0; diff --git a/drivers/power/power_core.c b/drivers/power/power_core.c index 90df2c58c4c..f16b9dc0666 100644 --- a/drivers/power/power_core.c +++ b/drivers/power/power_core.c @@ -205,7 +205,8 @@ int do_pmic(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) if (strcmp(argv[3], "charge") == 0) { if (p->pbat) { - printf("PRINT BAT charge %s\n", p->name); + printf("BAT: %s charging (ctrl+c to break)\n", + p->name); if (p->low_power_mode) p->low_power_mode(); if (p->pbat->battery_charge) |