1. 25 2月, 2014 2 次提交
    • M
      regulator: core: Replace direct ops->disable usage · 66fda75f
      Markus Pargmann 提交于
      There are many places where ops->disable is called directly. Instead we
      should use _regulator_do_disable() which also handles gpio regulators.
      
      To be able to use the wrapper function from _regulator_force_disable(),
      I moved the _notifier_call_chain() call from _regulator_do_disable() to
      _regulator_disable(). This way, _regulator_force_disable() can use
      different flags for _notifier_call_chain() without calling it twice.
      
      Cc: <stable@vger.kernel.org> # 3.10+
      Signed-off-by: NMarkus Pargmann <mpa@pengutronix.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      66fda75f
    • M
      regulator: core: Replace direct ops->enable usage · 30c21971
      Markus Pargmann 提交于
      There are some direct ops->enable in the regulator core driver. This is
      a potential issue as the function _regulator_do_enable() handles gpio
      regulators and the normal ops->enable calls. These gpio regulators are
      simply ignored when ops->enable is called directly.
      
      One possible bug is that boot-on and always-on gpio regulators are not
      enabled on registration.
      
      This patch replaces all ops->enable calls by _regulator_do_enable.
      
      [Handle missing enable operations -- broonie]
      
      Cc: <stable@vger.kernel.org> # 3.10+
      Signed-off-by: NMarkus Pargmann <mpa@pengutronix.de>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      
      regulator: Handle invalid enable operation for always/boot on regulators
      Signed-off-by: NMark Brown <broonie@linaro.org>
      30c21971
  2. 22 2月, 2014 1 次提交
  3. 21 2月, 2014 1 次提交
  4. 14 2月, 2014 2 次提交
  5. 12 2月, 2014 1 次提交
    • S
      regulator: da9063: Bug fix when setting max voltage on LDOs 5-11 · ebf6dad0
      Steve Twiss 提交于
      Bug fix to allow the setting of maximum voltage for certain LDOs.
      
      What the bug is:
      
      There is a problem caused by an invalid calculation of n_voltages
      in the driver. This n_voltages value has the potential to be
      different for each regulator.
      
      The value for linear_min_sel is set as DA9063_V##regl_name#
      which can be different depending upon the regulator. This is
      chosen according to the following definitions in the DA9063
      registers.h file:
      
      DA9063_VLDO1_BIAS	0
      DA9063_VLDO2_BIAS	0
      DA9063_VLDO3_BIAS	0
      DA9063_VLDO4_BIAS	0
      DA9063_VLDO5_BIAS	2
      DA9063_VLDO6_BIAS	2
      DA9063_VLDO7_BIAS	2
      DA9063_VLDO8_BIAS	2
      DA9063_VLDO9_BIAS	3
      DA9063_VLDO10_BIAS	2
      DA9063_VLDO11_BIAS	2
      
      The calculation for n_voltages is valid for LDOs whose BIAS value
      is zero but this is not correct for those LDOs which have a
      non-zero value.
      
      What the fix is:
      
      In order to take into account the non-zero linear_min_sel value which
      is set for the regulators LDO5, LDO6, LDO7, LDO8, LDO9, LDO10 and
      LDO11, the calculation for n_voltages should take into account the
      missing term defined by DA9063_V##regl_name#.
      
      This will in turn allow the core constraints calculation to set the
      maximum voltage limits correctly and therefore allow users to apply
      the maximum expected voltage to all of the LDOs.
      Signed-off-by: NSteve Twiss <stwiss.opensource@diasemi.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      Cc: stable@vger.kernel.org
      ebf6dad0
  6. 08 2月, 2014 1 次提交
  7. 06 2月, 2014 1 次提交
  8. 01 2月, 2014 1 次提交
  9. 28 1月, 2014 1 次提交
    • M
      regulator: core: Correct default return value for full constraints · 317b5684
      Mark Brown 提交于
      Once we have full constraints then all supply mappings should be known to
      the regulator API. This means that we should treat failed lookups as fatal
      rather than deferring in the hope of further registrations but this was
      broken by commit 9b92da1f "regulator: core: Fix default return
      value for _get()" which was targeted at DT systems but unintentionally
      broke non-DT systems by changing the default return value.
      
      Fix this by explicitly returning -EPROBE_DEFER from the DT lookup if we
      find a property but no corresponding regulator and by having the non-DT
      case default to -ENODEV when we have full constraints.
      
      Fixes: 9b92da1f "regulator: core: Fix default return value for _get()"
      Signed-off-by: NMark Brown <broonie@linaro.org>
      Tested-by: NGuenter Roeck <linux@roeck-us.net>
      Cc: stable@vger.kernel.org
      317b5684
  10. 24 1月, 2014 1 次提交
    • L
      regulator: ab3100: cast fix · 23e21ddf
      Linus Walleij 提交于
      The AB3100 regulator driver emits a warning when compiled on 64bit
      systems like this:
      
      drivers/regulator/ab3100.c:
      In function ‘ab3100_regulator_of_probe’:
      srivers/regulator/ab3100.c:649:4:
      warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      
      As the int is a different size than the 64bit pointer used to
      pass regulator data. Switch to using an unsigned long as ID
      passed for the regulator to get rid of the warning.
      Reported-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      23e21ddf
  11. 23 1月, 2014 1 次提交
  12. 21 1月, 2014 2 次提交
    • A
      mfd: mc13xxx: Remove useless symbol MFD_MC13783 · e5a3da21
      Alexander Shiyan 提交于
      Symbol MFD_MC13783 always selected by MFD_MC13XXX, so no need
      to keep additional symbol.
      Signed-off-by: NAlexander Shiyan <shc_work@mail.ru>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      e5a3da21
    • S
      regulator: tps6586x: Add and use correct voltage table · 844a4f0d
      Stefan Agner 提交于
      Depending on the regulator version, the voltage table might be
      different. Use version specific regulator tables in order to select
      correct voltage table. For the following regulator versions different
      voltage tables are now used:
      
        * TPS658623: Use correct voltage table for SM2
        * TPS658643: New voltage table for SM2
      
      Both versions are in use on the Colibri T20 module. Make use of the
      correct tables by requesting the correct SM2 voltage of 1.8V.
      
      This change is not backward compatible since an old driver is not able
      to correctly set that value. The value 1.8V is out of range for the old
      driver and will refuse to probe the device. The regulator starts with
      default settings and the driver shows appropriate error messages.
      
      On Colibri T20, the old value used to work with TPS658623 since the
      driver applied a wrong voltage table too. However, the TPS658643 used
      on V1.2 devices uses yet another voltage table and those broke that
      pseudo-compatibility. The regulator driver now has the correct voltage
      table for both regulator versions and those the correct voltage can be
      used in the device tree.
      Signed-off-by: NStefan Agner <stefan@agner.ch>
      Reviewed-by: NThierry Reding <treding@nvidia.com>
      Acked-by: NMark Brown <broonie@linaro.org>
      Acked-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      844a4f0d
  13. 15 1月, 2014 1 次提交
  14. 09 1月, 2014 2 次提交
  15. 08 1月, 2014 1 次提交
  16. 07 1月, 2014 2 次提交
  17. 06 1月, 2014 3 次提交
  18. 31 12月, 2013 3 次提交
  19. 30 12月, 2013 5 次提交
  20. 24 12月, 2013 3 次提交
  21. 23 12月, 2013 1 次提交
  22. 21 12月, 2013 3 次提交
  23. 19 12月, 2013 1 次提交