aboutsummaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorDaniel Willerud <daniel.willerud@stericsson.com>2011-02-16 09:42:28 +0100
committerJonas ABERG <jonas.aberg@stericsson.com>2011-02-18 16:11:04 +0100
commitf36976759e616659709e1486f5e99de8c48a6b06 (patch)
treee520c40b7366d3b5503c06579f6ecca15e3ee701 /drivers/power
parent8ce7833a3ffc27194aee49b30746f47f7c95d3d3 (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.c7
-rw-r--r--drivers/power/ab8500_charger.c7
-rw-r--r--drivers/power/ab8500_fg.c5
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);