summaryrefslogtreecommitdiffstats
path: root/drivers/mfd/htc-pasic3.c
diff options
context:
space:
mode:
authorPhilipp Zabel <philipp.zabel@gmail.com>2008-04-20 17:42:59 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-04-24 14:34:24 +0100
commit5826042d3c550522e49a8a55db64d9c47b43a8f9 (patch)
treeba1428c0666272b41f1dbb8bdb2cae58551e9b80 /drivers/mfd/htc-pasic3.c
parentee008b4cdfb7082e1a57d63911d39bed0817d7d4 (diff)
downloadlinux-5826042d3c550522e49a8a55db64d9c47b43a8f9.tar.bz2
[ARM] 5011/1: htc-pasic3: fix bug in resource pipe-through to ds1wm
The newly created DS1WM platform device should get a copy of the PASIC3 platform devices' resources. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/mfd/htc-pasic3.c')
-rw-r--r--drivers/mfd/htc-pasic3.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/mfd/htc-pasic3.c b/drivers/mfd/htc-pasic3.c
index af66f4f28300..cb4ab27a2ef5 100644
--- a/drivers/mfd/htc-pasic3.c
+++ b/drivers/mfd/htc-pasic3.c
@@ -135,8 +135,9 @@ static struct ds1wm_platform_data ds1wm_pdata = {
.disable = ds1wm_disable,
};
-static int ds1wm_device_add(struct device *pasic3_dev, int bus_shift)
+static int ds1wm_device_add(struct platform_device *pasic3_pdev, int bus_shift)
{
+ struct device *pasic3_dev = &pasic3_pdev->dev;
struct pasic3_data *asic = pasic3_dev->driver_data;
struct platform_device *pdev;
int ret;
@@ -147,8 +148,8 @@ static int ds1wm_device_add(struct device *pasic3_dev, int bus_shift)
return -ENOMEM;
}
- ret = platform_device_add_resources(pdev, pdev->resource,
- pdev->num_resources);
+ ret = platform_device_add_resources(pdev, pasic3_pdev->resource,
+ pasic3_pdev->num_resources);
if (ret < 0) {
dev_dbg(pasic3_dev, "failed to add DS1WM resources\n");
goto exit_pdev_put;
@@ -210,7 +211,7 @@ static int __init pasic3_probe(struct platform_device *pdev)
return -ENOMEM;
}
- ret = ds1wm_device_add(dev, asic->bus_shift);
+ ret = ds1wm_device_add(pdev, asic->bus_shift);
if (ret < 0)
dev_warn(dev, "failed to register DS1WM\n");