summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2012-08-01 16:44:29 +0530
committerLokesh Pathak <lpathak@nvidia.com>2012-08-07 08:45:26 -0700
commit0a93f5c4bb384c3a0fd71b5bc3d231f834554dfd (patch)
treedd6ffec138467c613c441a279f6672b4df017ae3 /drivers
parent65f9c0c5286dcccd3ed38d479215414c9cf00f1f (diff)
power: tps80031: battery-charger: register as mfd sub device
Register battery charger driver of TPS80031 as mfd sub driver in place of adding it as a sub devices. This is inline with the mfd driver policy. Change-Id: I8cff39f5c9b22434f7c5b9d4ed9f3865ff4c0001 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/121135 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mfd/tps80031.c3
-rw-r--r--drivers/power/tps80031-charger.c10
2 files changed, 12 insertions, 1 deletions
diff --git a/drivers/mfd/tps80031.c b/drivers/mfd/tps80031.c
index f9f3f092d837..f496c36d6401 100644
--- a/drivers/mfd/tps80031.c
+++ b/drivers/mfd/tps80031.c
@@ -308,6 +308,9 @@ static struct mfd_cell tps80031_cell[] = {
{
.name = "tps80031-battery-gauge",
},
+ {
+ .name = "tps80031-charger",
+ },
};
diff --git a/drivers/power/tps80031-charger.c b/drivers/power/tps80031-charger.c
index 70a365797089..edbcfcc586f1 100644
--- a/drivers/power/tps80031-charger.c
+++ b/drivers/power/tps80031-charger.c
@@ -353,10 +353,18 @@ static int tps80031_charger_probe(struct platform_device *pdev)
int ret = 0;
struct device *dev = &pdev->dev;
struct tps80031_charger *charger;
- struct tps80031_charger_platform_data *pdata = pdev->dev.platform_data;
+ struct tps80031_platform_data *tps80031_pdata;
+ struct tps80031_charger_platform_data *pdata;
dev_info(dev, "%s()\n", __func__);
+ tps80031_pdata = dev_get_platdata(pdev->dev.parent);
+ if (!tps80031_pdata) {
+ dev_err(&pdev->dev, "no tps80031 platform_data specified\n");
+ return -EINVAL;
+ }
+
+ pdata = tps80031_pdata->battery_charger_pdata;
if (!pdata) {
dev_err(dev, "%s() No platform data, exiting..\n", __func__);
return -ENODEV;