From f4c3f48601336a88a2afe76532582edc789d35fa Mon Sep 17 00:00:00 2001 From: Rong Dian Date: Tue, 24 Jul 2012 10:34:15 +0800 Subject: [PATCH] ENGR00218070 imx6 battery: fix charger led first wrong indication status because boot time gap between led framwork and battery driver init,when system boots with charger attatched, charger led framwork loses the first charger online event,add once extra power_supply_changed can fix this issure Signed-off-by: Rong Dian --- drivers/power/sabresd_battery.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/power/sabresd_battery.c b/drivers/power/sabresd_battery.c index fcbbbc58763e..d7815449a9ce 100755 --- a/drivers/power/sabresd_battery.c +++ b/drivers/power/sabresd_battery.c @@ -29,7 +29,7 @@ #include -#define BATTERY_UPDATE_INTERVAL 120 /*seconds*/ +#define BATTERY_UPDATE_INTERVAL 5 /*seconds*/ #define LOW_VOLT_THRESHOLD 2800000 #define HIGH_VOLT_THRESHOLD 4200000 #define ADC_SAMPLE_COUNT 6 @@ -55,6 +55,7 @@ struct max8903_data { int percent; int old_percent; int usb_charger_online; + int first_delay_count; struct power_supply bat; struct power_supply detect_usb; struct mutex work_lock; @@ -291,6 +292,16 @@ static void max8903_battery_update_status(struct max8903_data *data) changed_flag = false; power_supply_changed(&data->bat); } + /* + because boot time gap between led framwork and charger + framwork,when system boots with charger attatched, charger + led framwork loses the first charger online event,add once extra + power_supply_changed can fix this issure + */ + if (data->first_delay_count < 200) { + data->first_delay_count = data->first_delay_count + 1 ; + power_supply_changed(&data->bat); + } mutex_unlock(&data->work_lock); } @@ -599,6 +610,7 @@ static __devinit int max8903_probe(struct platform_device *pdev) dev_err(dev, "Cannot allocate memory.\n"); return -ENOMEM; } + data->first_delay_count = 0; data->pdata = pdata; data->dev = dev; platform_set_drvdata(pdev, data); -- 2.39.5