summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Langlais <philippe.langlais@linaro.org>2012-04-24 13:04:34 +0200
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:01:43 +0200
commitaddfa027e67c7241938e88c96e1b2abe6ea4149e (patch)
treecf2c4020784d7e05c3966e8ac98ff444845314f8
parent88ee8490ab4f6401fe4d60533161a0266680543d (diff)
power: ab8500: bm: Temporary workaround to reuse old ab8500 platform data managment
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
-rw-r--r--arch/arm/mach-ux500/board-mop500-bm.c18
-rw-r--r--arch/arm/mach-ux500/board-mop500-bm.h10
-rw-r--r--drivers/power/ab8500_btemp.c4
-rw-r--r--drivers/power/ab8500_charger.c5
-rw-r--r--drivers/power/ab8500_fg.c4
-rw-r--r--drivers/power/abx500_chargalg.c7
-rw-r--r--include/linux/mfd/abx500/ab8500.h10
7 files changed, 30 insertions, 28 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-bm.c b/arch/arm/mach-ux500/board-mop500-bm.c
index b55de182953..afdc6ee59a3 100644
--- a/arch/arm/mach-ux500/board-mop500-bm.c
+++ b/arch/arm/mach-ux500/board-mop500-bm.c
@@ -395,23 +395,23 @@ static char *ab8500_chargalg_supplied_to[] = {
"ab8500_fg",
};
-struct ab8500_charger_platform_data ab8500_charger_plat_data = {
+struct abx500_charger_platform_data ab8500_charger_plat_data = {
.supplied_to = ab8500_charger_supplied_to,
.num_supplicants = ARRAY_SIZE(ab8500_charger_supplied_to),
.autopower_cfg = false,
};
-struct ab8500_btemp_platform_data ab8500_btemp_plat_data = {
+struct abx500_btemp_platform_data ab8500_btemp_plat_data = {
.supplied_to = ab8500_btemp_supplied_to,
.num_supplicants = ARRAY_SIZE(ab8500_btemp_supplied_to),
};
-struct ab8500_fg_platform_data ab8500_fg_plat_data = {
+struct abx500_fg_platform_data ab8500_fg_plat_data = {
.supplied_to = ab8500_fg_supplied_to,
.num_supplicants = ARRAY_SIZE(ab8500_fg_supplied_to),
};
-struct ab8500_chargalg_platform_data ab8500_chargalg_plat_data = {
+struct abx500_chargalg_platform_data ab8500_chargalg_plat_data = {
.supplied_to = ab8500_chargalg_supplied_to,
.num_supplicants = ARRAY_SIZE(ab8500_chargalg_supplied_to),
};
@@ -436,7 +436,7 @@ struct ab8500_pwmled_platform_data ab8500_pwmled_plat_data = {
.leds = leds_pwm_data,
};
-static const struct ab8500_bm_capacity_levels cap_levels = {
+static const struct abx500_bm_capacity_levels cap_levels = {
.critical = 2,
.low = 10,
.normal = 70,
@@ -444,7 +444,7 @@ static const struct ab8500_bm_capacity_levels cap_levels = {
.full = 100,
};
-static const struct ab8500_fg_parameters fg = {
+static const struct abx500_fg_parameters fg = {
.recovery_sleep_timer = 10,
.recovery_total_time = 100,
.init_timer = 1,
@@ -461,21 +461,21 @@ static const struct ab8500_fg_parameters fg = {
.maint_thres = 97,
};
-static const struct ab8500_maxim_parameters maxi_params = {
+static const struct abx500_maxim_parameters maxi_params = {
.ena_maxi = true,
.chg_curr = 910,
.wait_cycles = 10,
.charger_curr_step = 100,
};
-static const struct ab8500_bm_charger_parameters chg = {
+static const struct abx500_bm_charger_parameters chg = {
.usb_volt_max = 5500,
.usb_curr_max = 1500,
.ac_volt_max = 7500,
.ac_curr_max = 1500,
};
-struct ab8500_bm_data ab8500_bm_data = {
+struct abx500_bm_data ab8500_bm_data = {
.temp_under = 3,
.temp_low = 8,
.temp_high = 43,
diff --git a/arch/arm/mach-ux500/board-mop500-bm.h b/arch/arm/mach-ux500/board-mop500-bm.h
index 6b6dcf43502..61d6bc71cc3 100644
--- a/arch/arm/mach-ux500/board-mop500-bm.h
+++ b/arch/arm/mach-ux500/board-mop500-bm.h
@@ -15,11 +15,11 @@
#include <linux/mfd/abx500/ab8500-bm.h>
-extern struct ab8500_charger_platform_data ab8500_charger_plat_data;
-extern struct ab8500_btemp_platform_data ab8500_btemp_plat_data;
-extern struct ab8500_fg_platform_data ab8500_fg_plat_data;
-extern struct ab8500_chargalg_platform_data ab8500_chargalg_plat_data;
-extern struct ab8500_bm_data ab8500_bm_data;
+extern struct abx500_charger_platform_data ab8500_charger_plat_data;
+extern struct abx500_btemp_platform_data ab8500_btemp_plat_data;
+extern struct abx500_fg_platform_data ab8500_fg_plat_data;
+extern struct abx500_chargalg_platform_data ab8500_chargalg_plat_data;
+extern struct abx500_bm_data ab8500_bm_data;
extern struct ab8500_pwmled_platform_data ab8500_pwmled_plat_data;
#endif
diff --git a/drivers/power/ab8500_btemp.c b/drivers/power/ab8500_btemp.c
index 6d4ece31413..5e5700cf24a 100644
--- a/drivers/power/ab8500_btemp.c
+++ b/drivers/power/ab8500_btemp.c
@@ -973,7 +973,7 @@ static int __devinit ab8500_btemp_probe(struct platform_device *pdev)
{
int irq, i, ret = 0;
u8 val;
- struct abx500_bm_plat_data *plat_data;
+ struct ab8500_platform_data *plat_data;
struct ab8500_btemp *di =
kzalloc(sizeof(struct ab8500_btemp), GFP_KERNEL);
@@ -988,7 +988,7 @@ static int __devinit ab8500_btemp_probe(struct platform_device *pdev)
di->initialized = false;
/* get btemp specific platform data */
- plat_data = pdev->dev.platform_data;
+ plat_data = dev_get_platdata(di->parent->dev);
di->pdata = plat_data->btemp;
if (!di->pdata) {
dev_err(di->dev, "no btemp platform data supplied\n");
diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c
index a675765fc4f..19f62729a0a 100644
--- a/drivers/power/ab8500_charger.c
+++ b/drivers/power/ab8500_charger.c
@@ -2637,7 +2637,7 @@ static int __devexit ab8500_charger_remove(struct platform_device *pdev)
static int __devinit ab8500_charger_probe(struct platform_device *pdev)
{
int irq, i, charger_status, ret = 0;
- struct abx500_bm_plat_data *plat_data;
+ struct ab8500_platform_data *plat_data;
struct ab8500_charger *di =
kzalloc(sizeof(struct ab8500_charger), GFP_KERNEL);
@@ -2653,7 +2653,8 @@ static int __devinit ab8500_charger_probe(struct platform_device *pdev)
spin_lock_init(&di->usb_state.usb_lock);
/* get charger specific platform data */
- plat_data = pdev->dev.platform_data;
+ plat_data = dev_get_platdata(di->parent->dev);
+
di->pdata = plat_data->charger;
if (!di->pdata) {
diff --git a/drivers/power/ab8500_fg.c b/drivers/power/ab8500_fg.c
index fc27153b562..798f5f7cef4 100644
--- a/drivers/power/ab8500_fg.c
+++ b/drivers/power/ab8500_fg.c
@@ -2446,7 +2446,7 @@ static int __devinit ab8500_fg_probe(struct platform_device *pdev)
{
int i, irq;
int ret = 0;
- struct abx500_bm_plat_data *plat_data;
+ struct ab8500_platform_data *plat_data;
struct ab8500_fg *di =
kzalloc(sizeof(struct ab8500_fg), GFP_KERNEL);
@@ -2461,7 +2461,7 @@ static int __devinit ab8500_fg_probe(struct platform_device *pdev)
di->gpadc = ab8500_gpadc_get("ab8500-gpadc.0");
/* get fg specific platform data */
- plat_data = pdev->dev.platform_data;
+ plat_data = dev_get_platdata(di->parent->dev);
di->pdata = plat_data->fg;
if (!di->pdata) {
dev_err(di->dev, "no fg platform data supplied\n");
diff --git a/drivers/power/abx500_chargalg.c b/drivers/power/abx500_chargalg.c
index 804b88c760d..032b27d35bf 100644
--- a/drivers/power/abx500_chargalg.c
+++ b/drivers/power/abx500_chargalg.c
@@ -220,6 +220,7 @@ enum maxim_ret {
*/
struct abx500_chargalg {
struct device *dev;
+ struct ab8500 *parent;
int charge_status;
int eoc_cnt;
int rch_cnt;
@@ -1802,7 +1803,7 @@ static int __devexit abx500_chargalg_remove(struct platform_device *pdev)
static int __devinit abx500_chargalg_probe(struct platform_device *pdev)
{
- struct abx500_bm_plat_data *plat_data;
+ struct ab8500_platform_data *plat_data;
int ret = 0;
struct abx500_chargalg *di =
@@ -1812,8 +1813,8 @@ static int __devinit abx500_chargalg_probe(struct platform_device *pdev)
/* get device struct */
di->dev = &pdev->dev;
-
- plat_data = pdev->dev.platform_data;
+ di->parent = dev_get_drvdata(pdev->dev.parent);
+ plat_data = dev_get_platdata(di->parent->dev);
di->pdata = plat_data->chargalg;
di->bat = plat_data->battery;
diff --git a/include/linux/mfd/abx500/ab8500.h b/include/linux/mfd/abx500/ab8500.h
index a51161222e1..30435405c07 100644
--- a/include/linux/mfd/abx500/ab8500.h
+++ b/include/linux/mfd/abx500/ab8500.h
@@ -289,13 +289,13 @@ struct ab8500_platform_data {
void (*init) (struct ab8500 *);
struct ab8500_regulator_platform_data *regulator;
struct abx500_accdet_platform_data *accdet;
- struct ab8500_bm_data *battery;
+ struct abx500_bm_data *battery;
struct ab8500_denc_platform_data *denc;
struct ab8500_audio_platform_data *audio;
- struct ab8500_charger_platform_data *charger;
- struct ab8500_btemp_platform_data *btemp;
- struct ab8500_fg_platform_data *fg;
- struct ab8500_chargalg_platform_data *chargalg;
+ struct abx500_charger_platform_data *charger;
+ struct abx500_btemp_platform_data *btemp;
+ struct abx500_fg_platform_data *fg;
+ struct abx500_chargalg_platform_data *chargalg;
struct ab8500_gpio_platform_data *gpio;
struct ab8500_sysctrl_platform_data *sysctrl;
struct ab8500_pwmled_platform_data *pwmled;