aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
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);