1. 06 Feb, 2019 6 commits
    • Linus Walleij's avatar
      regulator: core: Only support passing enable GPIO descriptors · 541d052d
      Linus Walleij authored
      Now that we changed all providers to pass descriptors into the core
      for enable GPIOs instead of a global GPIO number, delete the support
      for passing GPIO numbers in, and we get a cleanup and size reduction
      in the core, and from a GPIO point of view we use the modern, cleaner
      interface.
      Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      541d052d
    • Linus Walleij's avatar
      regulator: gpio: Simplify probe path · d162d041
      Linus Walleij authored
      Use devm_* managed device resources and create a local
      struct device *dev variable to simplify the code inside
      probe().
      Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      d162d041
    • Linus Walleij's avatar
      regulator: fixed/gpio: Pull inversion/OD into gpiolib · 01dc79cd
      Linus Walleij authored
      This pushes the handling of inversion semantics and open drain
      settings to the GPIO descriptor and gpiolib. All affected board
      files are also augmented.
      
      This is especially nice since we don't have to have any
      confusing flags passed around to the left and right littering
      the fixed and GPIO regulator drivers and the regulator core.
      It is all just very straight-forward: the core asks the GPIO
      line to be asserted or deasserted and gpiolib deals with the
      rest depending on how the platform is configured: if the line
      is active low, it deals with that, if the line is open drain,
      it deals with that too.
      
      Cc: Alexander Shiyan <shc_work@mail.ru> # i.MX boards user
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com> # MMP2 maintainer
      Cc: Aaro Koskinen <aaro.koskinen@iki.fi> # OMAP1 maintainer
      Cc: Tony Lindgren <tony@atomide.com> # OMAP1,2,3 maintainer
      Cc: Mike Rapoport <rppt@linux.vnet.ibm.com> # EM-X270 maintainer
      Cc: Robert Jarzmik <robert.jarzmik@free.fr> # EZX maintainer
      Cc: Philipp Zabel <philipp.zabel@gmail.com> # Magician maintainer
      Cc: Petr Cvek <petr.cvek@tul.cz> # Magician
      Cc: Robert Jarzmik <robert.jarzmik@free.fr> # PXA
      Cc: Paul Parsons <lost.distance@yahoo.com> # hx4700
      Cc: Daniel Mack <zonque@gmail.com> # Raumfeld maintainer
      Cc: Marc Zyngier <marc.zyngier@arm.com> # Zeus maintainer
      Cc: Geert Uytterhoeven <geert+renesas@glider.be> # SuperH pinctrl/GPIO maintainer
      Cc: Russell King <rmk+kernel@armlinux.org.uk> # SA1100
      Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Tested-by: Janusz Krzysztofik <jmkrzyszt@gmail.com> #OMAP1 Amstrad Delta
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      01dc79cd
    • Linus Walleij's avatar
      regulator: gpio: Convert to use descriptors · d6cd33ad
      Linus Walleij authored
      This converts the GPIO regulator driver to use decriptors only.
      
      We have to let go of the array gpio handling: the fetched descriptors
      are handled individually anyway, and the array retrieveal function
      does not make it possible to retrieve each GPIO descriptor with
      unique flags. Instead get them one by one.
      
      We request the "enable" GPIO separately as before, and make sure
      that this line is requested as nonexclusive since enable lines can
      be shared and the regulator core expects this.
      
      Most users of the GPIO regulator are using device tree.
      
      There are two boards in the kernel using the gpio regulator from a
      non-devicetree path: PXA hx4700 and magician. Make sure to switch
      these over to use descriptors as well.
      
      Cc: Philipp Zabel <p.zabel@pengutronix.de> # Magician
      Cc: Petr Cvek <petr.cvek@tul.cz> # Magician
      Cc: Robert Jarzmik <robert.jarzmik@free.fr> # PXA
      Cc: Paul Parsons <lost.distance@yahoo.com> # hx4700
      Cc: Kevin Hilman <khilman@baylibre.com> # Meson
      Cc: Neil Armstrong <narmstrong@baylibre.com> # Meson
      Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      d6cd33ad
    • Axel Lin's avatar
      regulator: rk808: Convert rk805 buck1/2 to use linear range · 4f297062
      Axel Lin authored
      It looks like linear range is suitable to describe the voltage table
      for rk805 buck1/2:
      
      selector 0 ~ 59: 0.7125V with uV_step = 12500
      selector 60 ~ 62: 1.8V with uV_step = 200000
      selector 63: 2.3V
      
      With this change, then rk805 buck1/2 can reuse rk808_reg_ops_ranges.
      Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
      Tested-by: default avatarOtavio Salvador <otavio@ossystems.com.br>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      4f297062
    • Charles Keepax's avatar
      regulator: as3722: Correct minor typo · 46689b1e
      Charles Keepax authored
      A comma has been accidentally used where a semi-colon was clearly
      intended, correct this typo.
      Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      46689b1e
  2. 02 Feb, 2019 1 commit
    • Otavio Salvador's avatar
      regulator: rk808: Fix BUCK1/2 voltages on rk805 · 2b679ca1
      Otavio Salvador authored
      RK805 has the following voltage range for the BUCK1 and BUCK2 regulators:
      
      From 0.7125V to 1.45V in 12.5mV steps, 1.8V, 2V, 2.2V and 2.3V
      
      , which corresponds to the following values as per the RK805
      datasheet:
      
      000 000: 0.7125V
      000 001: 0.725V
      ……
      111 011: 1.45V
      111 100: 1.8V
      111 101: 2.0V
      111 110: 2.2V
      111 111: 2.3V
      
      This means that the voltage range is not linear and so RK805 can not
      reuse the same regulator_ops structure from RK808.
      
      Fix it by creating a list with the correct supported voltage values
      for RK805 BUCK1 and BUCK2 regulators.
      
      Tested on a rv1108-elgin-r1 board that now correctly reports a BUCK2
      voltage of 2.2V instead of the unsupported value of 1.4875V.
      
      Fixes: c4e0d344 ("regulator: rk808: Add regulator driver for RK805")
      Signed-off-by: default avatarOtavio Salvador <otavio@ossystems.com.br>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      2b679ca1
  3. 30 Jan, 2019 1 commit
  4. 29 Jan, 2019 2 commits
  5. 28 Jan, 2019 16 commits
  6. 24 Jan, 2019 3 commits
  7. 23 Jan, 2019 3 commits
  8. 22 Jan, 2019 4 commits
  9. 18 Jan, 2019 1 commit
  10. 14 Jan, 2019 3 commits