diff options
author | Daniel Willerud <daniel.willerud@stericsson.com> | 2011-02-16 09:42:28 +0100 |
---|---|---|
committer | Jonas ABERG <jonas.aberg@stericsson.com> | 2011-02-18 16:11:04 +0100 |
commit | f36976759e616659709e1486f5e99de8c48a6b06 (patch) | |
tree | e520c40b7366d3b5503c06579f6ecca15e3ee701 /drivers/power | |
parent | 8ce7833a3ffc27194aee49b30746f47f7c95d3d3 (diff) |
MFD: ab8500-gpadc: New ab8500_gpadc API
Added ab8500_gpadc_get() API, moved gpadc and calibration structs and
channel enums.
Clients utilizing the new API.
ST-Ericsson ID: ER281133
ST-Ericsson FOSS-OUT ID: Trivial
Signed-off-by: Daniel Willerud <daniel.willerud@stericsson.com>
Change-Id: Ief442b47ed3315d62a8b887d49bf03f9b6502e3b
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/16125
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Tested-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/ab8500_btemp.c | 7 | ||||
-rw-r--r-- | drivers/power/ab8500_charger.c | 7 | ||||
-rw-r--r-- | drivers/power/ab8500_fg.c | 5 |
3 files changed, 14 insertions, 5 deletions
diff --git a/drivers/power/ab8500_btemp.c b/drivers/power/ab8500_btemp.c index ac1a318d7c1..f8e0f78564d 100644 --- a/drivers/power/ab8500_btemp.c +++ b/drivers/power/ab8500_btemp.c @@ -72,6 +72,7 @@ struct ab8500_btemp_ranges { * @bat_temp: Battery temperature in degree Celcius * @prev_bat_temp Last dispatched battery temperature * @parent: Pointer to the struct ab8500 + * @gpadc: Pointer to the struct gpadc * @pdata: Pointer to the ab8500_btemp platform data * @bat: Pointer to the ab8500_bm platform data * @btemp_psy: Structure for BTEMP specific battery properties @@ -87,6 +88,7 @@ struct ab8500_btemp { int bat_temp; int prev_bat_temp; struct ab8500 *parent; + struct ab8500_gpadc *gpadc; struct ab8500_btemp_platform_data *pdata; struct ab8500_bm_data *bat; struct power_supply btemp_psy; @@ -158,7 +160,7 @@ static int ab8500_btemp_read_batctrl_voltage(struct ab8500_btemp *di) int vbtemp; static int prev; - vbtemp = ab8500_gpadc_convert(di->parent->gpadc, BAT_CTRL); + vbtemp = ab8500_gpadc_convert(di->gpadc, BAT_CTRL); if (vbtemp < 0) { dev_err(di->dev, "%s gpadc conversion failed, using previous value", @@ -421,7 +423,7 @@ static int ab8500_btemp_measure_temp(struct ab8500_btemp *di) di->bat->bat_type[t].r_to_t_tbl, di->bat->bat_type[t].n_temp_tbl_elements, rbat); } else { - vntc = ab8500_gpadc_convert(di->parent->gpadc, BTEMP_BALL); + vntc = ab8500_gpadc_convert(di->gpadc, BTEMP_BALL); if (vntc < 0) { dev_err(di->dev, "%s gpadc conversion failed," @@ -920,6 +922,7 @@ static int __devinit ab8500_btemp_probe(struct platform_device *pdev) /* get parent data */ di->dev = &pdev->dev; di->parent = dev_get_drvdata(pdev->dev.parent); + di->gpadc = ab8500_gpadc_get(); plat = dev_get_platdata(di->parent->dev); diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c index ae3cb114327..ead31aef292 100644 --- a/drivers/power/ab8500_charger.c +++ b/drivers/power/ab8500_charger.c @@ -145,6 +145,7 @@ struct ab8500_charger_usb_state { * VBUS detected during startup * @ac_conn: This will be true when the AC charger has been plugged * @parent: Pointer to the struct ab8500 + * @gpadc: Pointer to the struct gpadc * @pdata: Pointer to the ab8500_charger platform data * @bat: Pointer to the ab8500_bm platform data * @flags: Structure for information about events triggered @@ -175,6 +176,7 @@ struct ab8500_charger { bool vbus_detected_start; bool ac_conn; struct ab8500 *parent; + struct ab8500_gpadc *gpadc; struct ab8500_charger_platform_data *pdata; struct ab8500_bm_data *bat; struct ab8500_charger_event_flags flags; @@ -233,7 +235,7 @@ static int ab8500_charger_get_ac_voltage(struct ab8500_charger *di) /* Only measure voltage if the charger is connected */ if (di->ac.charger_connected) { - vch = ab8500_gpadc_convert(di->parent->gpadc, MAIN_CHARGER_V); + vch = ab8500_gpadc_convert(di->gpadc, MAIN_CHARGER_V); if (vch < 0) { dev_err(di->dev, "%s gpadc conversion failed, " "using previous value\n", __func__); @@ -289,7 +291,7 @@ static int ab8500_charger_get_vbus_voltage(struct ab8500_charger *di) /* Only measure voltage if the charger is connected */ if (di->usb.charger_connected) { - vch = ab8500_gpadc_convert(di->parent->gpadc, VBUS_V); + vch = ab8500_gpadc_convert(di->gpadc, VBUS_V); if (vch < 0) { dev_err(di->dev, "%s gpadc conversion failed, " "using previous value\n", __func__); @@ -2125,6 +2127,7 @@ static int __devinit ab8500_charger_probe(struct platform_device *pdev) /* get parent data */ di->dev = &pdev->dev; di->parent = dev_get_drvdata(pdev->dev.parent); + di->gpadc = ab8500_gpadc_get(); /* initialize lock */ spin_lock_init(&di->usb_state.usb_lock); diff --git a/drivers/power/ab8500_fg.c b/drivers/power/ab8500_fg.c index 684b281dfc0..a5daddddc0a 100644 --- a/drivers/power/ab8500_fg.c +++ b/drivers/power/ab8500_fg.c @@ -134,6 +134,7 @@ struct ab8500_fg_flags { * @bat_cap: Structure for battery capacity specific parameters * @avg_cap: Average capacity filter * @parent: Pointer to the struct ab8500 + * @gpadc: Pointer to the struct gpadc * @pdata: Pointer to the ab8500_fg platform data * @bat: Pointer to the ab8500_bm platform data * @fg_psy: Structure that holds the FG specific battery properties @@ -163,6 +164,7 @@ struct ab8500_fg { struct ab8500_fg_battery_capacity bat_cap; struct ab8500_fg_avg_cap avg_cap; struct ab8500 *parent; + struct ab8500_gpadc *gpadc; struct ab8500_fg_platform_data *pdata; struct ab8500_bm_data *bat; struct power_supply fg_psy; @@ -599,7 +601,7 @@ static int ab8500_fg_bat_voltage(struct ab8500_fg *di) int vbat; static int prev; - vbat = ab8500_gpadc_convert(di->parent->gpadc, MAIN_BAT_V); + vbat = ab8500_gpadc_convert(di->gpadc, MAIN_BAT_V); if (vbat < 0) { dev_err(di->dev, "%s gpadc conversion failed, using previous value\n", @@ -1672,6 +1674,7 @@ static int __devinit ab8500_fg_probe(struct platform_device *pdev) /* get parent data */ di->dev = &pdev->dev; di->parent = dev_get_drvdata(pdev->dev.parent); + di->gpadc = ab8500_gpadc_get(); plat = dev_get_platdata(di->parent->dev); |