mfd: as3711: Use devm_mfd_add_devices() for mfd_device registration
authorLaxman Dewangan <ldewangan@nvidia.com>
Thu, 7 Apr 2016 18:42:58 +0000 (00:12 +0530)
committerLee Jones <lee.jones@linaro.org>
Tue, 19 Apr 2016 06:54:50 +0000 (07:54 +0100)
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.

CC: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/as3711.c

index 09e1483b99bc921ffbb81b3bd5d6cc8fc159d3ec..67b12417585d18301170289a50858292e1af807e 100644 (file)
@@ -189,22 +189,14 @@ static int as3711_i2c_probe(struct i2c_client *client,
                as3711_subdevs[AS3711_BACKLIGHT].pdata_size = 0;
        }
 
-       ret = mfd_add_devices(as3711->dev, -1, as3711_subdevs,
-                             ARRAY_SIZE(as3711_subdevs), NULL, 0, NULL);
+       ret = devm_mfd_add_devices(as3711->dev, -1, as3711_subdevs,
+                                  ARRAY_SIZE(as3711_subdevs), NULL, 0, NULL);
        if (ret < 0)
                dev_err(&client->dev, "add mfd devices failed: %d\n", ret);
 
        return ret;
 }
 
-static int as3711_i2c_remove(struct i2c_client *client)
-{
-       struct as3711 *as3711 = i2c_get_clientdata(client);
-
-       mfd_remove_devices(as3711->dev);
-       return 0;
-}
-
 static const struct i2c_device_id as3711_i2c_id[] = {
        {.name = "as3711", .driver_data = 0},
        {}
@@ -218,7 +210,6 @@ static struct i2c_driver as3711_i2c_driver = {
                   .of_match_table = of_match_ptr(as3711_of_match),
        },
        .probe = as3711_i2c_probe,
-       .remove = as3711_i2c_remove,
        .id_table = as3711_i2c_id,
 };