aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power/ab8500_charger.c
diff options
context:
space:
mode:
authorLoic Pallardy <loic.pallardy@stericsson.com>2012-05-10 09:33:56 -0400
committerLee Jones <lee.jones@linaro.org>2013-01-23 09:39:15 -0500
commite07a56453b14b929cf01bf032cc3e3220094609c (patch)
tree78fff3a900cdb885a58da090575e66656a6861c8 /drivers/power/ab8500_charger.c
parente3455002d04276c256a531f7175dce0f7d1cb78a (diff)
pm2301: Update watchdog for pm2xxx support
AB and PMxxx doesn't have same watchdog refresh period. Add watchdog to refresh period parameters in x500 charger structure, this should kick watchdog every 30sec. The AC charging should also kick both pm2xxx and the AB charger watchdog. Signed-off-by: Rajkumar Kasirajan <rajkumar.kasirajan@stericsson.com> Signed-off-by: Loic Pallardy <loic.pallardy@stericsson.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Reviewed-by: Michel JAOUEN <michel.jaouen@stericsson.com> Reviewed-by: Marcus COOPER <marcus.xm.cooper@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Tested-by: Michel JAOUEN <michel.jaouen@stericsson.com> Tested-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'drivers/power/ab8500_charger.c')
-rw-r--r--drivers/power/ab8500_charger.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c
index 4c66172aaa64..0483e7cb2268 100644
--- a/drivers/power/ab8500_charger.c
+++ b/drivers/power/ab8500_charger.c
@@ -93,6 +93,8 @@
93 93
94#define CHARGER_STATUS_POLL 10 /* in ms */ 94#define CHARGER_STATUS_POLL 10 /* in ms */
95 95
96#define CHG_WD_INTERVAL (60 * HZ)
97
96/* UsbLineStatus register - usb types */ 98/* UsbLineStatus register - usb types */
97enum ab8500_charger_link_status { 99enum ab8500_charger_link_status {
98 USB_STAT_NOT_CONFIGURED, 100 USB_STAT_NOT_CONFIGURED,
@@ -2953,7 +2955,9 @@ static int ab8500_charger_probe(struct platform_device *pdev)
2953 ARRAY_SIZE(ab8500_charger_voltage_map) - 1]; 2955 ARRAY_SIZE(ab8500_charger_voltage_map) - 1];
2954 di->ac_chg.max_out_curr = ab8500_charger_current_map[ 2956 di->ac_chg.max_out_curr = ab8500_charger_current_map[
2955 ARRAY_SIZE(ab8500_charger_current_map) - 1]; 2957 ARRAY_SIZE(ab8500_charger_current_map) - 1];
2958 di->ac_chg.wdt_refresh = CHG_WD_INTERVAL;
2956 di->ac_chg.enabled = di->pdata->ac_enabled; 2959 di->ac_chg.enabled = di->pdata->ac_enabled;
2960 di->ac_chg.external = false;
2957 2961
2958 /* USB supply */ 2962 /* USB supply */
2959 /* power_supply base class */ 2963 /* power_supply base class */
@@ -2972,7 +2976,9 @@ static int ab8500_charger_probe(struct platform_device *pdev)
2972 ARRAY_SIZE(ab8500_charger_voltage_map) - 1]; 2976 ARRAY_SIZE(ab8500_charger_voltage_map) - 1];
2973 di->usb_chg.max_out_curr = ab8500_charger_current_map[ 2977 di->usb_chg.max_out_curr = ab8500_charger_current_map[
2974 ARRAY_SIZE(ab8500_charger_current_map) - 1]; 2978 ARRAY_SIZE(ab8500_charger_current_map) - 1];
2979 di->usb_chg.wdt_refresh = CHG_WD_INTERVAL;
2975 di->usb_chg.enabled = di->pdata->usb_enabled; 2980 di->usb_chg.enabled = di->pdata->usb_enabled;
2981 di->usb_chg.external = false;
2976 2982
2977 /* Create a work queue for the charger */ 2983 /* Create a work queue for the charger */
2978 di->charger_wq = 2984 di->charger_wq =