]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
Merge remote-tracking branch 'regulator/topic/core' into regulator-next
authorMark Brown <broonie@kernel.org>
Tue, 12 Jan 2016 18:26:05 +0000 (18:26 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 12 Jan 2016 18:26:05 +0000 (18:26 +0000)
1  2 
drivers/regulator/core.c

diff --combined drivers/regulator/core.c
index c70017d5f74bb2d1305eb5d3f35a2885fbf9b51f,856fec528b8db33d657fe9dbfd7f148afb97a204..09af2aafb2c15e7ad351087160ea6b80c55d0e8f
@@@ -138,10 -138,18 +138,10 @@@ static bool have_full_constraints(void
   */
  static void regulator_lock_supply(struct regulator_dev *rdev)
  {
 -      struct regulator *supply;
 -      int i = 0;
 +      int i;
  
 -      while (1) {
 -              mutex_lock_nested(&rdev->mutex, i++);
 -              supply = rdev->supply;
 -
 -              if (!rdev->supply)
 -                      return;
 -
 -              rdev = supply->rdev;
 -      }
 +      for (i = 0; rdev->supply; rdev = rdev->supply->rdev, i++)
 +              mutex_lock_nested(&rdev->mutex, i);
  }
  
  /**
@@@ -2360,7 -2368,6 +2360,6 @@@ static void regulator_disable_work(stru
  int regulator_disable_deferred(struct regulator *regulator, int ms)
  {
        struct regulator_dev *rdev = regulator->rdev;
-       int ret;
  
        if (regulator->always_on)
                return 0;
        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 -3703,7 +3695,7 @@@ static umode_t regulator_attr_is_visibl
                                         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;