1. 19 Oct, 2018 2 commits
  2. 15 Oct, 2018 1 commit
  3. 12 Oct, 2018 2 commits
    • Linus Walleij's avatar
      regulator/gpio: Allow nonexclusive GPIO access · b0ce7b29
      Linus Walleij authored
      This allows nonexclusive (simultaneous) access to a single
      GPIO line for the fixed regulator enable line. This happens
      when several regulators use the same GPIO for enabling and
      disabling a regulator, and all need a handle on their GPIO
      descriptor.
      
      This solution with a special flag is not entirely elegant
      and should ideally be replaced by something more careful as
      this makes it possible for several consumers to
      enable/disable the same GPIO line to the left and right
      without any consistency. The current use inside the regulator
      core should however be fine as it takes special care to
      handle this.
      
      For the state of the GPIO backend, this is still the
      lesser evil compared to going back to global GPIO
      numbers.
      
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Jon Hunter <jonathanh@nvidia.com>
      Fixes: efdfeb07 ("regulator: fixed: Convert to use GPIO descriptor only")
      Reported-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Tested-by: default avatarJon Hunter <jonathanh@nvidia.com>
      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>
      b0ce7b29
    • Charles Keepax's avatar
      regulator: lochnagar: Add support for the Cirrus Logic Lochnagar · bef9391c
      Charles Keepax authored
      Lochnagar is an evaluation and development board for Cirrus
      Logic Smart CODEC and Amp devices. It allows the connection of
      most Cirrus Logic devices on mini-cards, as well as allowing
      connection of various application processor systems to provide a
      full evaluation platform. This driver supports the board
      controller chip on the Lochnagar board.
      
      The Lochnagar board provides power supplies for the attached
      CODEC/Amp device. Currently this driver supports the microphone
      supplies and the digital core voltage for the attached
      device. There are some additional supplies that will be
      added in time but these supplies are sufficient for most
      systems/use-cases.
      Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      bef9391c
  4. 10 Oct, 2018 1 commit
  5. 08 Oct, 2018 2 commits
  6. 04 Oct, 2018 1 commit
  7. 02 Oct, 2018 1 commit
  8. 28 Sep, 2018 9 commits
  9. 21 Sep, 2018 1 commit
  10. 20 Sep, 2018 2 commits
  11. 19 Sep, 2018 1 commit
  12. 17 Sep, 2018 1 commit
    • Linus Walleij's avatar
      regulator: fixed: Convert to use GPIO descriptor only · efdfeb07
      Linus Walleij authored
      As we augmented the regulator core to accept a GPIO descriptor instead
      of a GPIO number, we can augment the fixed GPIO regulator to look up
      and pass that descriptor directly from device tree or board GPIO
      descriptor look up tables.
      
      Some boards just auto-enumerate their fixed regulator platform devices
      and I have assumed they get names like "fixed-regulator.0" but it's
      pretty hard to guess this. I need some testing from board maintainers to
      be sure. Other boards are straight forward, using just plain
      "fixed-regulator" (ID -1) or "fixed-regulator.1" hammering down the
      device ID.
      
      It seems the da9055 and da9211 has never got around to actually passing
      any enable gpio into its platform data (not the in-tree code anyway) so we
      can just decide to simply pass a descriptor instead.
      
      The fixed GPIO-controlled regulator in mach-pxa/ezx.c was confusingly named
      "*_dummy_supply_device" while it is a very real device backed by a GPIO
      line. There is nothing dummy about it at all, so I renamed it with the
      infix *_regulator_* as part of this patch set.
      
      Intel MID portions tested by Andy.
      
      Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> # Check the x86 BCM stuff
      Acked-by: Tony Lindgren <tony@atomide.com> # OMAP1,2,3 maintainer
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Reviewed-by: default avatarJanusz Krzysztofik <jmkrzyszt@gmail.com>
      Reviewed-by: default avatarMike Rapoport <rppt@linux.vnet.ibm.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      efdfeb07
  13. 04 Sep, 2018 1 commit
  14. 03 Sep, 2018 2 commits
    • Marek Szyprowski's avatar
      regulator: Fix useless O^2 complexity in suspend/resume · cd7e36ab
      Marek Szyprowski authored
      regulator_pm_ops with regulator_suspend and regulator_resume functions are
      assigned to every regulator device registered in the system, so there is no
      need to iterate over all again in them. Replace class_for_each_device()
      construction with direct operation on the rdev embedded in the given
      regulator device. This saves a lots of useless operations in suspend and
      resume paths.
      
      Fixes: f7efad10: regulator: add PM suspend and resume hooks
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      cd7e36ab
    • Marek Szyprowski's avatar
      regulator: Fix 'do-nothing' value for regulators without suspend state · 3edd79cf
      Marek Szyprowski authored
      Some regulators don't have all states defined and in such cases regulator
      core should not assume anything. However in current implementation
      of of_get_regulation_constraints() DO_NOTHING_IN_SUSPEND enable value was
      set only for regulators which had suspend node defined, otherwise the
      default 0 value was used, what means DISABLE_IN_SUSPEND. This lead to
      broken system suspend/resume on boards, which had simple regulator
      constraints definition (without suspend state nodes).
      
      To avoid further mismatches between the default and uninitialized values
      of the suspend enabled/disabled states, change the values of the them,
      so default '0' means DO_NOTHING_IN_SUSPEND.
      
      Fixes: 72069f99: regulator: leave one item to record whether regulator is enabled
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Cc: stable@vger.kernel.org
      3edd79cf
  15. 31 Aug, 2018 1 commit
    • Philipp Zabel's avatar
      regulator: da9063: fix DT probing with constraints · ef394f3f
      Philipp Zabel authored
      Commit 1c892e38 ("regulator: da9063: Handle less LDOs on DA9063L")
      reordered the da9063_regulator_info[] array, but not the DA9063_ID_*
      regulator ids and not the da9063_matches[] array, because ids are used
      as indices in the array initializer. This mismatch between regulator id
      and da9063_regulator_info[] array index causes the driver probe to fail
      because constraints from DT are not applied to the correct regulator:
      
        da9063 0-0058: Device detected (chip-ID: 0x61, var-ID: 0x50)
        DA9063_BMEM: Bringing 900000uV into 3300000-3300000uV
        DA9063_LDO9: Bringing 3300000uV into 2500000-2500000uV
        DA9063_LDO1: Bringing 900000uV into 3300000-3300000uV
        DA9063_LDO1: failed to apply 3300000-3300000uV constraint(-22)
      
      This patch reorders the DA9063_ID_* as apparently intended, and with
      them the entries in the da90630_matches[] array.
      
      Fixes: 1c892e38 ("regulator: da9063: Handle less LDOs on DA9063L")
      Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
      Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Reviewed-by: default avatarMarek Vasut <marek.vasut@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      ef394f3f
  16. 29 Aug, 2018 1 commit
  17. 28 Aug, 2018 8 commits
  18. 26 Aug, 2018 3 commits
    • Linus Torvalds's avatar
      Linux 4.19-rc1 · 5b394b2d
      Linus Torvalds authored
      5b394b2d
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b933d6eb
      Linus Torvalds authored
      Pull timer update from Thomas Gleixner:
       "New defines for the compat time* types so they can be shared between
        32bit and 64bit builds. Not used yet, but merging them now allows the
        actual conversions to be merged through different maintainer trees
        without dependencies
      
        We still have compat interfaces for 32bit on 64bit even with the new
        2038 safe timespec/val variants because pointer size is different. And
        for the old style timespec/val interfaces we need yet another 'compat'
        interface for both 32bit native and 32bit on 64bit"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        y2038: Provide aliases for compat helpers
      b933d6eb
    • Linus Torvalds's avatar
      Merge branch 'ida-4.19' of git://git.infradead.org/users/willy/linux-dax · aba16dc5
      Linus Torvalds authored
      Pull IDA updates from Matthew Wilcox:
       "A better IDA API:
      
            id = ida_alloc(ida, GFP_xxx);
            ida_free(ida, id);
      
        rather than the cumbersome ida_simple_get(), ida_simple_remove().
      
        The new IDA API is similar to ida_simple_get() but better named.  The
        internal restructuring of the IDA code removes the bitmap
        preallocation nonsense.
      
        I hope the net -200 lines of code is convincing"
      
      * 'ida-4.19' of git://git.infradead.org/users/willy/linux-dax: (29 commits)
        ida: Change ida_get_new_above to return the id
        ida: Remove old API
        test_ida: check_ida_destroy and check_ida_alloc
        test_ida: Convert check_ida_conv to new API
        test_ida: Move ida_check_max
        test_ida: Move ida_check_leaf
        idr-test: Convert ida_check_nomem to new API
        ida: Start new test_ida module
        target/iscsi: Allocate session IDs from an IDA
        iscsi target: fix session creation failure handling
        drm/vmwgfx: Convert to new IDA API
        dmaengine: Convert to new IDA API
        ppc: Convert vas ID allocation to new IDA API
        media: Convert entity ID allocation to new IDA API
        ppc: Convert mmu context allocation to new IDA API
        Convert net_namespace to new IDA API
        cb710: Convert to new IDA API
        rsxx: Convert to new IDA API
        osd: Convert to new IDA API
        sd: Convert to new IDA API
        ...
      aba16dc5