diff options
Diffstat (limited to 'drivers/battery/samsung_battery.c')
-rw-r--r-- | drivers/battery/samsung_battery.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/drivers/battery/samsung_battery.c b/drivers/battery/samsung_battery.c index 8bc5c7f..d3f45f2 100644 --- a/drivers/battery/samsung_battery.c +++ b/drivers/battery/samsung_battery.c @@ -58,15 +58,27 @@ static void battery_error_control(struct battery_info *info); unsigned int lpcharge; static int battery_get_lpm_state(char *str) { - get_option(&str, &lpcharge); + if (strncmp(str, "1", 1) == 0) + lpcharge = 1; + pr_info("%s: Low power charging mode: %d\n", __func__, lpcharge); return lpcharge; } __setup("lpcharge=", battery_get_lpm_state); -#if defined(CONFIG_RTC_ALARM_BOOT) + +/* For KitKat bootloader compatibility */ +static int bootloader_get_lpm_state(char *str) +{ + if (strncmp(str, "charger", 7) == 0) + lpcharge = 1; + + pr_info("%s: Low power charging mode: %d\n", __func__, lpcharge); + + return lpcharge; +} +__setup("androidboot.mode=", bootloader_get_lpm_state); EXPORT_SYMBOL(lpcharge); -#endif /* Cable type from charger or adc */ static int battery_get_cable(struct battery_info *info) |