diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2008-10-13 15:45:22 +0100 |
---|---|---|
committer | Liam Girdwood <lrg@slimlogic.co.uk> | 2008-10-13 21:51:57 +0100 |
commit | add41cb46175618fd42bc1ca07fe7f9dd38bf702 (patch) | |
tree | 339fdb4605a4397098f3f5161a904167cb829929 /drivers/mfd/wm8350-core.c | |
parent | 129eef96c9e25ce6516e2ddd5a338a14362b815b (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/wm8350-core.c')
-rw-r--r-- | drivers/mfd/wm8350-core.c | 18 |
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, wm8350_reg_write(wm8350, WM8350_SYSTEM_INTERRUPTS_MASK, 0x0); + wm8350_client_dev_register(wm8350, "wm8350-codec", + &(wm8350->codec.pdev)); + wm8350_client_dev_register(wm8350, "wm8350-gpio", + &(wm8350->gpio.pdev)); + wm8350_client_dev_register(wm8350, "wm8350-power", + &(wm8350->power.pdev)); + wm8350_client_dev_register(wm8350, "wm8350-rtc", &(wm8350->rtc.pdev)); + wm8350_client_dev_register(wm8350, "wm8350-wdt", &(wm8350->wdt.pdev)); + return 0; err: @@ -1247,8 +1256,13 @@ void wm8350_device_exit(struct wm8350 *wm8350) int i; for (i = 0; i < ARRAY_SIZE(wm8350->pmic.pdev); i++) - if (wm8350->pmic.pdev[i] != NULL) - platform_device_unregister(wm8350->pmic.pdev[i]); + platform_device_unregister(wm8350->pmic.pdev[i]); + + platform_device_unregister(wm8350->wdt.pdev); + platform_device_unregister(wm8350->rtc.pdev); + platform_device_unregister(wm8350->power.pdev); + platform_device_unregister(wm8350->gpio.pdev); + platform_device_unregister(wm8350->codec.pdev); free_irq(wm8350->chip_irq, wm8350); flush_work(&wm8350->irq_work); |