diff options
| -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 ca0d21465..97a966115 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 90df2c58c..f16b9dc06 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) |