aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Zabel <philipp.zabel@gmail.com>2008-04-20 12:42:59 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-04-24 09:34:24 -0400
commit5826042d3c550522e49a8a55db64d9c47b43a8f9 (patch)
treeba1428c0666272b41f1dbb8bdb2cae58551e9b80
parentee008b4cdfb7082e1a57d63911d39bed0817d7d4 (diff)
[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>
-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 = {
135 .disable = ds1wm_disable, 135 .disable = ds1wm_disable,
136}; 136};
137 137
138static int ds1wm_device_add(struct device *pasic3_dev, int bus_shift) 138static int ds1wm_device_add(struct platform_device *pasic3_pdev, int bus_shift)
139{ 139{
140 struct device *pasic3_dev = &pasic3_pdev->dev;
140 struct pasic3_data *asic = pasic3_dev->driver_data; 141 struct pasic3_data *asic = pasic3_dev->driver_data;
141 struct platform_device *pdev; 142 struct platform_device *pdev;
142 int ret; 143 int ret;
@@ -147,8 +148,8 @@ static int ds1wm_device_add(struct device *pasic3_dev, int bus_shift)
147 return -ENOMEM; 148 return -ENOMEM;
148 } 149 }
149 150
150 ret = platform_device_add_resources(pdev, pdev->resource, 151 ret = platform_device_add_resources(pdev, pasic3_pdev->resource,
151 pdev->num_resources); 152 pasic3_pdev->num_resources);
152 if (ret < 0) { 153 if (ret < 0) {
153 dev_dbg(pasic3_dev, "failed to add DS1WM resources\n"); 154 dev_dbg(pasic3_dev, "failed to add DS1WM resources\n");
154 goto exit_pdev_put; 155 goto exit_pdev_put;
@@ -210,7 +211,7 @@ static int __init pasic3_probe(struct platform_device *pdev)
210 return -ENOMEM; 211 return -ENOMEM;
211 } 212 }
212 213
213 ret = ds1wm_device_add(dev, asic->bus_shift); 214 ret = ds1wm_device_add(pdev, asic->bus_shift);
214 if (ret < 0) 215 if (ret < 0)
215 dev_warn(dev, "failed to register DS1WM\n"); 216 dev_warn(dev, "failed to register DS1WM\n");
216 217