diff options
author | Philipp Zabel <philipp.zabel@gmail.com> | 2008-04-20 12:42:59 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-04-24 09:34:24 -0400 |
commit | 5826042d3c550522e49a8a55db64d9c47b43a8f9 (patch) | |
tree | ba1428c0666272b41f1dbb8bdb2cae58551e9b80 /drivers/mfd | |
parent | ee008b4cdfb7082e1a57d63911d39bed0817d7d4 (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>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/htc-pasic3.c | 9 |
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 | ||
138 | static int ds1wm_device_add(struct device *pasic3_dev, int bus_shift) | 138 | static 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 | ||