return ret;
        }
 
-       ret = mfd_add_devices(&client->dev, 0, menf21bmc_cell,
-                             ARRAY_SIZE(menf21bmc_cell), NULL, 0, NULL);
+       ret = devm_mfd_add_devices(&client->dev, 0, menf21bmc_cell,
+                                  ARRAY_SIZE(menf21bmc_cell), NULL, 0, NULL);
        if (ret < 0) {
                dev_err(&client->dev, "failed to add BMC sub-devices\n");
                return ret;
        return 0;
 }
 
-static int menf21bmc_remove(struct i2c_client *client)
-{
-       mfd_remove_devices(&client->dev);
-       return 0;
-}
-
 static const struct i2c_device_id menf21bmc_id_table[] = {
        { "menf21bmc" },
        { }
        .driver.name    = "menf21bmc",
        .id_table       = menf21bmc_id_table,
        .probe          = menf21bmc_probe,
-       .remove         = menf21bmc_remove,
 };
 
 module_i2c_driver(menf21bmc_driver);