Use devm_mfd_add_devices() for MFD devices registration and get
rid of .remove callback to remove MFD child-devices. This is done
by managed device framework.

Signed-off-by: Laxman Dewangan <[email protected]>
---
 drivers/mfd/wl1273-core.c | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/drivers/mfd/wl1273-core.c b/drivers/mfd/wl1273-core.c
index f7c52d9..7080465 100644
--- a/drivers/mfd/wl1273-core.c
+++ b/drivers/mfd/wl1273-core.c
@@ -170,15 +170,6 @@ static int wl1273_fm_set_volume(struct wl1273_core *core, 
unsigned int volume)
        return 0;
 }
 
-static int wl1273_core_remove(struct i2c_client *client)
-{
-       dev_dbg(&client->dev, "%s\n", __func__);
-
-       mfd_remove_devices(&client->dev);
-
-       return 0;
-}
-
 static int wl1273_core_probe(struct i2c_client *client,
                                       const struct i2c_device_id *id)
 {
@@ -237,8 +228,8 @@ static int wl1273_core_probe(struct i2c_client *client,
        dev_dbg(&client->dev, "%s: number of children: %d.\n",
                __func__, children);
 
-       r = mfd_add_devices(&client->dev, -1, core->cells,
-                           children, NULL, 0, NULL);
+       r = devm_mfd_add_devices(&client->dev, -1, core->cells,
+                                children, NULL, 0, NULL);
        if (r)
                goto err;
 
@@ -258,7 +249,6 @@ static struct i2c_driver wl1273_core_driver = {
        },
        .probe = wl1273_core_probe,
        .id_table = wl1273_driver_id_table,
-       .remove = wl1273_core_remove,
 };
 
 static int __init wl1273_core_init(void)
-- 
2.1.4

Reply via email to