return &data->clk[idx].hw;
 }
 
-static void cdce925_regulator_disable(void *regulator)
-{
-       regulator_disable(regulator);
-}
-
 static int cdce925_regulator_enable(struct device *dev, const char *name)
 {
-       struct regulator *regulator;
        int err;
 
-       regulator = devm_regulator_get(dev, name);
-       if (IS_ERR(regulator))
-               return PTR_ERR(regulator);
-
-       err = regulator_enable(regulator);
-       if (err) {
-               dev_err(dev, "Failed to enable %s: %d\n", name, err);
-               return err;
-       }
+       err = devm_regulator_get_enable(dev, name);
+       if (err)
+               dev_err_probe(dev, err, "Failed to enable %s:\n", name);
 
-       return devm_add_action_or_reset(dev, cdce925_regulator_disable,
-                                       regulator);
+       return err;
 }
 
 /* The CDCE925 uses a funky way to read/write registers. Bulk mode is