mfd: rk808: Use devm_mfd_add_devices() for mfd_device registration
authorLaxman Dewangan <ldewangan@nvidia.com>
Thu, 7 Apr 2016 18:43:06 +0000 (00:13 +0530)
committerLee Jones <lee.jones@linaro.org>
Tue, 19 Apr 2016 06:55:59 +0000 (07:55 +0100)
Use devm_mfd_add_devices() for MFD devices registration and remove
the call of mfd_remove_devices() from .remove callback to remove
MFD child-devices. This is done by managed device framework.

CC: Chris Zhong <zyw@rock-chips.com>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/rk808.c

index 4b1e439..49d7f62 100644 (file)
@@ -213,9 +213,9 @@ static int rk808_probe(struct i2c_client *client,
        rk808->i2c = client;
        i2c_set_clientdata(client, rk808);
 
-       ret = mfd_add_devices(&client->dev, -1,
-                             rk808s, ARRAY_SIZE(rk808s),
-                             NULL, 0, regmap_irq_get_domain(rk808->irq_data));
+       ret = devm_mfd_add_devices(&client->dev, -1,
+                                  rk808s, ARRAY_SIZE(rk808s), NULL, 0,
+                                  regmap_irq_get_domain(rk808->irq_data));
        if (ret) {
                dev_err(&client->dev, "failed to add MFD devices %d\n", ret);
                goto err_irq;
@@ -240,7 +240,6 @@ static int rk808_remove(struct i2c_client *client)
        struct rk808 *rk808 = i2c_get_clientdata(client);
 
        regmap_del_irq_chip(client->irq, rk808->irq_data);
-       mfd_remove_devices(&client->dev);
        pm_power_off = NULL;
 
        return 0;