aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2008-10-13 10:45:22 -0400
committerLiam Girdwood <lrg@slimlogic.co.uk>2008-10-13 16:51:57 -0400
commitadd41cb46175618fd42bc1ca07fe7f9dd38bf702 (patch)
tree339fdb4605a4397098f3f5161a904167cb829929 /drivers/mfd
parent129eef96c9e25ce6516e2ddd5a338a14362b815b (diff)
mfd: Add placeholders for WM8350 client devices
In order to avoid merge problems further down the line add placeholders for several of the WM8350 client devices and register them, otherwise the patches adding the client devices will all try to update the same code. Also remove redundant checks for null regulator platform devices while we're at it. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@openedhand.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/wm8350-core.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c
index cd1f76efed4e..382e38c66914 100644
--- a/drivers/mfd/wm8350-core.c
+++ b/drivers/mfd/wm8350-core.c
@@ -1234,6 +1234,15 @@ int wm8350_device_init(struct wm8350 *wm8350, int irq,
1234 1234
1235 wm8350_reg_write(wm8350, WM8350_SYSTEM_INTERRUPTS_MASK, 0x0); 1235 wm8350_reg_write(wm8350, WM8350_SYSTEM_INTERRUPTS_MASK, 0x0);
1236 1236
1237 wm8350_client_dev_register(wm8350, "wm8350-codec",
1238 &(wm8350->codec.pdev));
1239 wm8350_client_dev_register(wm8350, "wm8350-gpio",
1240 &(wm8350->gpio.pdev));
1241 wm8350_client_dev_register(wm8350, "wm8350-power",
1242 &(wm8350->power.pdev));
1243 wm8350_client_dev_register(wm8350, "wm8350-rtc", &(wm8350->rtc.pdev));
1244 wm8350_client_dev_register(wm8350, "wm8350-wdt", &(wm8350->wdt.pdev));
1245
1237 return 0; 1246 return 0;
1238 1247
1239err: 1248err:
@@ -1247,8 +1256,13 @@ void wm8350_device_exit(struct wm8350 *wm8350)
1247 int i; 1256 int i;
1248 1257
1249 for (i = 0; i < ARRAY_SIZE(wm8350->pmic.pdev); i++) 1258 for (i = 0; i < ARRAY_SIZE(wm8350->pmic.pdev); i++)
1250 if (wm8350->pmic.pdev[i] != NULL) 1259 platform_device_unregister(wm8350->pmic.pdev[i]);
1251 platform_device_unregister(wm8350->pmic.pdev[i]); 1260
1261 platform_device_unregister(wm8350->wdt.pdev);
1262 platform_device_unregister(wm8350->rtc.pdev);
1263 platform_device_unregister(wm8350->power.pdev);
1264 platform_device_unregister(wm8350->gpio.pdev);
1265 platform_device_unregister(wm8350->codec.pdev);
1252 1266
1253 free_irq(wm8350->chip_irq, wm8350); 1267 free_irq(wm8350->chip_irq, wm8350);
1254 flush_work(&wm8350->irq_work); 1268 flush_work(&wm8350->irq_work);