1. 19 Feb, 2019 13 commits
  2. 18 Feb, 2019 4 commits
  3. 15 Feb, 2019 3 commits
    • Niklas Cassel's avatar
      regulator: core: Take lock before applying system load · e5e21f70
      Niklas Cassel authored
      Take the regulator lock before applying system load.
      
      Fixes the following lockdep splat:
      
      [    5.583581] WARNING: CPU: 1 PID: 16 at drivers/regulator/core.c:925 drms_uA_update+0x114/0x360
      [    5.588467] Modules linked in:
      [    5.596833] CPU: 1 PID: 16 Comm: kworker/1:0 Not tainted 5.0.0-rc6-next-20190213-00002-g0fce66ab480f #18
      [    5.599933] Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC (DT)
      [    5.609544] Workqueue: events qcom_channel_state_worker
      [    5.616209] pstate: 60000005 (nZCv daif -PAN -UAO)
      [    5.621152] pc : drms_uA_update+0x114/0x360
      [    5.626006] lr : drms_uA_update+0x110/0x360
      [    5.630084] sp : ffff0000124b3490
      [    5.634242] x29: ffff0000124b3490 x28: ffff800005326e00
      [    5.637735] x27: ffff0000124b35f8 x26: 000000000032bc48
      [    5.643117] x25: ffff800004c7e800 x24: ffff800004c6d500
      [    5.648411] x23: ffff800004c38a80 x22: 00000000000000d1
      [    5.653706] x21: 00000000001ab3f0 x20: ffff800004c7e800
      [    5.659001] x19: ffff0000114c3000 x18: ffffffffffffffff
      [    5.664297] x17: 0000000000000000 x16: 0000000000000000
      [    5.669592] x15: ffff0000114c3808 x14: 0720072007200720
      [    5.674888] x13: 00000000199c9b28 x12: ffff80002bcccc40
      [    5.680183] x11: ffff000012286000 x10: ffff0000114c3808
      [    5.685477] x9 : 0720072007200720 x8 : ffff000010e9e808
      [    5.690772] x7 : ffff0000106da568 x6 : 0000000000000000
      [    5.696067] x5 : 0000000000000000 x4 : 0000000000000000
      [    5.701362] x3 : 0000000000000004 x2 : 0000000000000000
      [    5.706658] x1 : 0000000000000000 x0 : 0000000000000000
      [    5.711952] Call trace:
      [    5.717223]  drms_uA_update+0x114/0x360
      [    5.719405]  regulator_register+0xb30/0x1140
      [    5.723230]  devm_regulator_register+0x4c/0xa8
      [    5.727745]  rpm_reg_probe+0xfc/0x1b0
      [    5.731992]  platform_drv_probe+0x50/0xa0
      [    5.735727]  really_probe+0x20c/0x2b8
      [    5.739718]  driver_probe_device+0x58/0x100
      [    5.743368]  __device_attach_driver+0x90/0xd0
      [    5.747363]  bus_for_each_drv+0x64/0xc8
      [    5.751870]  __device_attach+0xd8/0x138
      [    5.755516]  device_initial_probe+0x10/0x18
      [    5.759341]  bus_probe_device+0x98/0xa0
      [    5.763502]  device_add+0x3d0/0x640
      [    5.767319]  of_device_add+0x48/0x58
      [    5.770793]  of_platform_device_create_pdata+0xb0/0x128
      [    5.774629]  of_platform_bus_create+0x174/0x370
      [    5.779569]  of_platform_populate+0x78/0xe0
      [    5.784082]  qcom_smd_rpm_probe+0x80/0xa0
      [    5.788245]  rpmsg_dev_probe+0x114/0x1a0
      [    5.792411]  really_probe+0x20c/0x2b8
      [    5.796401]  driver_probe_device+0x58/0x100
      [    5.799964]  __device_attach_driver+0x90/0xd0
      [    5.803960]  bus_for_each_drv+0x64/0xc8
      [    5.808468]  __device_attach+0xd8/0x138
      [    5.812115]  device_initial_probe+0x10/0x18
      [    5.815936]  bus_probe_device+0x98/0xa0
      [    5.820099]  device_add+0x3d0/0x640
      [    5.823916]  device_register+0x1c/0x28
      [    5.827391]  rpmsg_register_device+0x4c/0x90
      [    5.831216]  qcom_channel_state_worker+0x170/0x298
      [    5.835651]  process_one_work+0x294/0x6e8
      [    5.840241]  worker_thread+0x40/0x450
      [    5.844318]  kthread+0x11c/0x120
      [    5.847961]  ret_from_fork+0x10/0x18
      [    5.851260] irq event stamp: 9090
      [    5.854820] hardirqs last  enabled at (9089): [<ffff000010160798>] console_unlock+0x3e0/0x5b0
      [    5.858086] hardirqs last disabled at (9090): [<ffff0000100817cc>] do_debug_exception+0x104/0x140
      [    5.866596] softirqs last  enabled at (9086): [<ffff000010082024>] __do_softirq+0x474/0x574
      [    5.875446] softirqs last disabled at (9079): [<ffff0000100f2254>] irq_exit+0x13c/0x148
      [    5.883598] ---[ end trace 6984ef7f081afa21 ]---
      
      Fixes: fa94e48e ("regulator: core: Apply system load even if no consumer loads")
      Signed-off-by: default avatarNiklas Cassel <niklas.cassel@linaro.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      e5e21f70
    • Axel Lin's avatar
      regulator: ltc3676: Fix module description · d422234f
      Axel Lin authored
      This driver is for LTC3676 rather than LTC1376.
      Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
      Acked-by: default avatarTim Harvey <tharvey@gateworks.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      d422234f
    • Axel Lin's avatar
      regulator: ltc3676: Simplify .readable_reg and .writable_reg callbacks · 502aba81
      Axel Lin authored
      Use case range for continuous range to make the code shorter.
      The .readable_reg and .writable_reg implementation are exactly the same,
      so use a common ltc3676_readable_writeable_reg function instead.
      Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
      Acked-by: default avatarTim Harvey <tharvey@gateworks.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      502aba81
  4. 14 Feb, 2019 4 commits
  5. 13 Feb, 2019 1 commit
  6. 12 Feb, 2019 1 commit
  7. 11 Feb, 2019 2 commits
  8. 08 Feb, 2019 4 commits
  9. 07 Feb, 2019 1 commit
  10. 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
  11. 04 Feb, 2019 1 commit