Merge remote-tracking branch 'regulator/topic/core' into regulator-next
[linux-drm-fsl-dcu.git] / drivers / regulator / core.c
index c70017d5f74bb2d1305eb5d3f35a2885fbf9b51f..09af2aafb2c15e7ad351087160ea6b80c55d0e8f 100644 (file)
@@ -2360,7 +2360,6 @@ static void regulator_disable_work(struct work_struct *work)
 int regulator_disable_deferred(struct regulator *regulator, int ms)
 {
        struct regulator_dev *rdev = regulator->rdev;
-       int ret;
 
        if (regulator->always_on)
                return 0;
@@ -2372,13 +2371,9 @@ int regulator_disable_deferred(struct regulator *regulator, int ms)
        rdev->deferred_disables++;
        mutex_unlock(&rdev->mutex);
 
-       ret = queue_delayed_work(system_power_efficient_wq,
-                                &rdev->disable_work,
-                                msecs_to_jiffies(ms));
-       if (ret < 0)
-               return ret;
-       else
-               return 0;
+       queue_delayed_work(system_power_efficient_wq, &rdev->disable_work,
+                          msecs_to_jiffies(ms));
+       return 0;
 }
 EXPORT_SYMBOL_GPL(regulator_disable_deferred);
 
@@ -3700,7 +3695,7 @@ static umode_t regulator_attr_is_visible(struct kobject *kobj,
                                         struct attribute *attr, int idx)
 {
        struct device *dev = kobj_to_dev(kobj);
-       struct regulator_dev *rdev = container_of(dev, struct regulator_dev, dev);
+       struct regulator_dev *rdev = dev_to_rdev(dev);
        const struct regulator_ops *ops = rdev->desc->ops;
        umode_t mode = attr->mode;