From addfa027e67c7241938e88c96e1b2abe6ea4149e Mon Sep 17 00:00:00 2001 From: Philippe Langlais Date: Tue, 24 Apr 2012 13:04:34 +0200 Subject: power: ab8500: bm: Temporary workaround to reuse old ab8500 platform data managment Signed-off-by: Philippe Langlais --- arch/arm/mach-ux500/board-mop500-bm.c | 18 +++++++++--------- arch/arm/mach-ux500/board-mop500-bm.h | 10 +++++----- drivers/power/ab8500_btemp.c | 4 ++-- drivers/power/ab8500_charger.c | 5 +++-- drivers/power/ab8500_fg.c | 4 ++-- drivers/power/abx500_chargalg.c | 7 ++++--- include/linux/mfd/abx500/ab8500.h | 10 +++++----- 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 -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; -- cgit v1.2.3