lp3943->mux_cfg = lp3943_mux_cfg;
        i2c_set_clientdata(cl, lp3943);
 
-       return mfd_add_devices(dev, -1, lp3943_devs, ARRAY_SIZE(lp3943_devs),
-                              NULL, 0, NULL);
-}
-
-static int lp3943_remove(struct i2c_client *cl)
-{
-       struct lp3943 *lp3943 = i2c_get_clientdata(cl);
-
-       mfd_remove_devices(lp3943->dev);
-       return 0;
+       return devm_mfd_add_devices(dev, -1, lp3943_devs,
+                                   ARRAY_SIZE(lp3943_devs),
+                                   NULL, 0, NULL);
 }
 
 static const struct i2c_device_id lp3943_ids[] = {
 
 static struct i2c_driver lp3943_driver = {
        .probe = lp3943_probe,
-       .remove = lp3943_remove,
        .driver = {
                .name = "lp3943",
                .of_match_table = of_match_ptr(lp3943_of_match),