]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branches 'regulator/topic/lp8788', 'regulator/topic/mt6311...
authorMark Brown <broonie@kernel.org>
Tue, 12 Jan 2016 18:26:07 +0000 (18:26 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 12 Jan 2016 18:26:07 +0000 (18:26 +0000)
1  2  3  4  5  6 
drivers/regulator/Kconfig
drivers/regulator/Makefile
drivers/regulator/core.c

index 263101994a69f119a1e47fda54ea163d841041b2,8df0b0e62976d460c96a0be4dffbe53363586b4a,8df0b0e62976d460c96a0be4dffbe53363586b4a,8df0b0e62976d460c96a0be4dffbe53363586b4a,8df0b0e62976d460c96a0be4dffbe53363586b4a,c61f72ff1dfdea3725f9e1b9514dd5ce1a595adf..bfa4944ed123574ca97e4b245afb76474eac17c0
@@@@@@@ -274,15 -274,6 -274,6 -274,6 -274,6 -274,6 +274,15 @@@@@@@ config REGULATOR_ISL6271
        help
          This driver supports ISL6271A voltage regulator chip.
      
 +++++config REGULATOR_LM363X
 +++++  tristate "TI LM363X voltage regulators"
 +++++  depends on MFD_TI_LMU
 +++++  help
 +++++    This driver supports LM3631 and LM3632 voltage regulators for
 +++++    the LCD bias.
 +++++    One boost output voltage is configurable and always on.
 +++++    Other LDOs are used for the display module.
 +++++
      config REGULATOR_LP3971
        tristate "National Semiconductors LP3971 PMIC regulator driver"
        depends on I2C
@@@@@@@ -455,7 -446,6 -446,6 -446,6 -446,6 -446,6 +455,7 @@@@@@@ config REGULATOR_MC1389
      config REGULATOR_MT6311
        tristate "MediaTek MT6311 PMIC"
        depends on I2C
 +++++  select REGMAP_I2C
        help
          Say y here to select this option to enable the power regulator of
          MediaTek MT6311 PMIC.
@@@@@@@ -514,6 -504,6 -504,6 -504,6 -504,6 -504,14 +514,14 @@@@@@@ config REGULATOR_PFUZE10
          Say y here to support the regulators found on the Freescale
          PFUZE100/PFUZE200 PMIC.
      
+++++ config REGULATOR_PV88060
+++++   tristate "Powerventure Semiconductor PV88060 regulator"
+++++   depends on I2C
+++++   select REGMAP_I2C
+++++   help
+++++     Say y here to support the voltage regulators and convertors
+++++     PV88060
+++++ 
      config REGULATOR_PWM
        tristate "PWM voltage regulator"
        depends on PWM
index 0ea87cdd389caa638dc68e652f82b313a7e855d2,0f8174913c17bd0b23fb434af7e0a48206680e85,0f8174913c17bd0b23fb434af7e0a48206680e85,0f8174913c17bd0b23fb434af7e0a48206680e85,0f8174913c17bd0b23fb434af7e0a48206680e85,b11c8a4f873ad6e769796de90fb1a1393cfd5ff8..3f6a6a6a9f1ac6e8c7d635e114c534bb813e5c4c
@@@@@@@ -36,7 -36,6 -36,6 -36,6 -36,6 -36,6 +36,7 @@@@@@@ obj-$(CONFIG_REGULATOR_GPIO) += gpio-re
      obj-$(CONFIG_REGULATOR_HI6421) += hi6421-regulator.o
      obj-$(CONFIG_REGULATOR_ISL6271A) += isl6271a-regulator.o
      obj-$(CONFIG_REGULATOR_ISL9305) += isl9305.o
 +++++obj-$(CONFIG_REGULATOR_LM363X) += lm363x-regulator.o
      obj-$(CONFIG_REGULATOR_LP3971) += lp3971.o
      obj-$(CONFIG_REGULATOR_LP3972) += lp3972.o
      obj-$(CONFIG_REGULATOR_LP872X) += lp872x.o
@@@@@@@ -67,6 -66,6 -66,6 -66,6 -66,6 -66,7 +67,7 @@@@@@@ obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) +
      obj-$(CONFIG_REGULATOR_QCOM_SPMI) += qcom_spmi-regulator.o
      obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o
      obj-$(CONFIG_REGULATOR_PFUZE100) += pfuze100-regulator.o
+++++ obj-$(CONFIG_REGULATOR_PV88060) += pv88060-regulator.o
      obj-$(CONFIG_REGULATOR_PWM) += pwm-regulator.o
      obj-$(CONFIG_REGULATOR_TPS51632) += tps51632-regulator.o
      obj-$(CONFIG_REGULATOR_PBIAS) += pbias-regulator.o
diff --combined drivers/regulator/core.c
index 4753f5f43fa508ab0518440f441a40605b6b5ac6,73b7683355cd015791114249defc26fdf2b644cf,73b7683355cd015791114249defc26fdf2b644cf,4cf1390784e54a2ca04d1177fa50bb9e2fff3c37,73b7683355cd015791114249defc26fdf2b644cf,73b7683355cd015791114249defc26fdf2b644cf..744c9889f88d4f83e27c05687ac14427c833c0c5
@@@@@@@ -132,24 -132,24 -132,24 -132,24 -132,24 -132,24 +132,24 @@@@@@@ static bool have_full_constraints(void
        return has_full_constraints || of_have_populated_dt();
      }
      
 +++++static inline struct regulator_dev *rdev_get_supply(struct regulator_dev *rdev)
 +++++{
 +++++  if (rdev && rdev->supply)
 +++++          return rdev->supply->rdev;
 +++++
 +++++  return NULL;
 +++++}
 +++++
      /**
       * regulator_lock_supply - lock a regulator and its supplies
       * @rdev:         regulator source
       */
      static void regulator_lock_supply(struct regulator_dev *rdev)
      {
 -----  struct regulator *supply;
 -----  int i = 0;
 -----
 -----  while (1) {
 -----          mutex_lock_nested(&rdev->mutex, i++);
 -----          supply = rdev->supply;
 -----
 -----          if (!rdev->supply)
 -----                  return;
 +++++  int i;
      
 -----          rdev = supply->rdev;
 -----  }
 +++++  for (i = 0; rdev; rdev = rdev_get_supply(rdev), i++)
 +++++          mutex_lock_nested(&rdev->mutex, i);
      }
      
      /**
@@@@@@@ -2368,6 -2368,7 -2368,7 -2368,7 -2368,7 -2368,7 +2368,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);
      
@@@@@@@ -3446,8 -3451,8 -3451,8 -3451,10 -3451,8 -3451,8 +3446,10 @@@@@@@ int regulator_bulk_get(struct device *d
                consumers[i].consumer = NULL;
      
        for (i = 0; i < num_consumers; i++) {
--- --          consumers[i].consumer = regulator_get(dev,
--- --                                                consumers[i].supply);
+++ ++          consumers[i].consumer = _regulator_get(dev,
+++ ++                                                 consumers[i].supply,
+++ ++                                                 false,
+++ ++                                                 !consumers[i].optional);
                if (IS_ERR(consumers[i].consumer)) {
                        ret = PTR_ERR(consumers[i].consumer);
                        dev_err(dev, "Failed to get supply '%s': %d\n",
@@@@@@@ -3703,7 -3708,7 -3708,7 -3710,7 -3708,7 -3708,7 +3705,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;