1. 11 Dec, 2020 2 commits
  2. 10 Dec, 2020 1 commit
  3. 08 Dec, 2020 2 commits
  4. 07 Dec, 2020 2 commits
  5. 04 Dec, 2020 3 commits
  6. 03 Dec, 2020 1 commit
  7. 02 Dec, 2020 1 commit
  8. 01 Dec, 2020 10 commits
  9. 30 Nov, 2020 2 commits
  10. 26 Nov, 2020 3 commits
  11. 25 Nov, 2020 1 commit
  12. 23 Nov, 2020 6 commits
    • Cristian Marussi's avatar
      regulator: add SCMI driver · 0fbeae70
      Cristian Marussi authored
      Add a simple regulator based on SCMI Voltage Domain Protocol.
      Signed-off-by: default avatarCristian Marussi <cristian.marussi@arm.com>
      ----
      v6 --> v7
      - add proper blank lines between semantic blocks
      - fix return value on error path of scmi_reg_is_enabled()
      - use generic Failure message on err path of info_get()
      - fix comment containing apostrophe
      
      v3 --> v4
      - using of_match_full_name core regulator flag
      - avoid coccinelle falde complaints about pointer-sized allocations
      
      v2 --> v3
      - remove multiple linear mappings support
      - removed duplicated voltage name printout
      - added a few comments
      - simplified return path in scmi_reg_set_voltage_sel()
      
      v1 --> v2
      - removed duplicate regulator naming
      - removed redundant .get/set_voltage ops: only _sel variants implemented
      - removed condexpr on fail path to increase readability
      
      v0 --> v1
      - fixed init_data constraint parsing
      - fixes for v5.8 (linear_range.h)
      - fixed commit message content and subject line format
      - factored out SCMI core specific changes to distinct patch
      - reworked Kconfig and Makefile to keep proper alphabetic order
      - fixed SPDX comment style
      - removed unneeded inline functions
      - reworked conditionals for legibility
      - fixed some return paths to properly report SCMI original errors codes
      - added some more descriptive error messages when fw returns invalid ranges
      - removed unneeded explicit devm_regulator_unregister from .remove()
      Link: https://lore.kernel.org/r/20201123202336.46701-4-cristian.marussi@arm.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      0fbeae70
    • Cristian Marussi's avatar
      dt-bindings: arm: remove optional properties for SCMI Regulators · e8056bf0
      Cristian Marussi authored
      Remove optional properties bindings descriptions for SCMI Regulators.
      Signed-off-by: default avatarCristian Marussi <cristian.marussi@arm.com>
      Link: https://lore.kernel.org/r/20201123202336.46701-2-cristian.marussi@arm.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      e8056bf0
    • Mark Brown's avatar
      Merge series "Add support for SCMIv3.0 Voltage Domain Protocol and... · 5d16a4f9
      Mark Brown authored
      Merge series "Add support for SCMIv3.0 Voltage Domain Protocol and SCMI-Regulator" from Cristian Marussi <cristian.marussi@arm.com>:
      
      Hi,
      
      this series introduces the support for the new SCMI Voltage Domain Protocol
      defined by the upcoming SCMIv3.0 specification, whose BETA release is
      available at [1].
      
      Afterwards, a new generic SCMI Regulator driver is developed on top of the
      new SCMI VD Protocol.
      
      In V4 Patch 3/5 introduced a needed fix in Regulator framework to cope with
      generic named nodes.
      
      The series is currently based on for-next/scmi [2] on top of:
      
      commit b141fca08207 ("firmware: arm_scmi: Fix missing destroy_workqueue()")
      
      Any feedback welcome,
      
      Thanks,
      
      Cristian
      
      ---
      v5 --> v6
      - reordered dt bindings patch
      - removed single field struct
      - reviewed args to scmi_init_voltage_levels()
      - allocating scmi_voltage_info_array contiguously
      
      v4 --> v5
      - rebased
      - VD Protocol
       - removed inline
       - moved segmented intervals defines
       - fixed some macros complaints by checkpatch
      
      v3 --> v4
      - DT bindings
       - using generic node names
       - listing explicitly subset of supported regulators bindings
      - SCMI Regulator
       - using of_match_full_name core regulator flag
       - avoid coccinelle false flag complaints
      - VD Protocol
       - avoid coccinelle false flag complaints
       - avoiding fixed size typing
      
      v2 --> v3
      - DT bindings
        - avoid awkard examples based on _cpu/_gpu regulators
      - SCMI Regulator
        - remove multiple linear mappings support
        - removed duplicated voltage name printout
        - added a few comments
        - simplified return path in scmi_reg_set_voltage_sel()
      - VD Protocol
        - restrict segmented voltage domain descriptors to one triplet
        - removed unneeded inline
        - free allocated resources for invalid voltage domain
        - added __must_check to info_get voltage operations
        - added a few comments
        - removed fixed size typing from struct voltage_info
      
      v1 --> v2
      - rebased on for-next/scmi v5.10
      - DT bindings
        - removed any reference to negative voltages
      - SCMI Regulator
        - removed duplicate regulator naming
        - removed redundant .get/set_voltage ops: only _sel variants implemented
        - removed condexpr on fail path to increase readability
      - VD Protocol
        - fix voltage levels query loop to reload full cmd description
          between iterations as reported by Etienne Carriere
        - ensure transport rx buffer is properly sized calli scmi_reset_rx_to_maxsz
          between transfers
      
      [1]:https://developer.arm.com/documentation/den0056/c/
      [2]:https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git/log/?h=for-next/scmi
      
      Cristian Marussi (5):
        firmware: arm_scmi: Add Voltage Domain Support
        firmware: arm_scmi: add SCMI Voltage Domain devname
        regulator: core: add of_match_full_name boolean flag
        dt-bindings: arm: add support for SCMI Regulators
        regulator: add SCMI driver
      
       .../devicetree/bindings/arm/arm,scmi.txt      |  43 ++
       drivers/firmware/arm_scmi/Makefile            |   2 +-
       drivers/firmware/arm_scmi/common.h            |   1 +
       drivers/firmware/arm_scmi/driver.c            |   3 +
       drivers/firmware/arm_scmi/voltage.c           | 380 ++++++++++++++++
       drivers/regulator/Kconfig                     |   9 +
       drivers/regulator/Makefile                    |   1 +
       drivers/regulator/of_regulator.c              |   8 +-
       drivers/regulator/scmi-regulator.c            | 409 ++++++++++++++++++
       include/linux/regulator/driver.h              |   3 +
       include/linux/scmi_protocol.h                 |  64 +++
       11 files changed, 920 insertions(+), 3 deletions(-)
       create mode 100644 drivers/firmware/arm_scmi/voltage.c
       create mode 100644 drivers/regulator/scmi-regulator.c
      
      --
      2.17.1
      
      _______________________________________________
      linux-arm-kernel mailing list
      linux-arm-kernel@lists.infradead.org
      http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
      5d16a4f9
    • Gustavo A. R. Silva's avatar
      regulator: as3722: Fix fall-through warnings for Clang · b52b417c
      Gustavo A. R. Silva authored
      In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning
      by explicitly adding a fallthrough pseudo-keyword instead of letting the
      code fall through to the next case.
      
      Link: https://github.com/KSPP/linux/issues/115Signed-off-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
      Link: https://lore.kernel.org/r/c0efb81064f71837f19408f65b52d155103ee514.1605896059.git.gustavoars@kernel.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      b52b417c
    • Cristian Marussi's avatar
      regulator: core: add of_match_full_name boolean flag · e7095c35
      Cristian Marussi authored
      During regulators registration, if .of_match and .regulators_node are
      defined as non-null strings in struct regulator_desc the core searches the
      DT subtree rooted at .regulators_node trying to match, at first, .of_match
      against the 'regulator-compatible' property and, then, falling back to use
      the name of the node itself to determine a good match.
      
      Property 'regulator-compatible', though, is now deprecated and falling back
      to match against the node name, works fine only as long as the involved
      nodes are named in an unique way across the searched subtree; if that's not
      the case, like when using <common-name>@<unit> style naming for properties
      indexed via 'reg' property (as advised by the standard), the above matching
      mechanism based on the simple common name will lead to multiple matches and
      the only viable alternative would be to properly define the now deprecated
      'regulator-compatible' as the node full name, i.e. <common-name>@<unit>.
      
      In order to address this case without using such deprecated binding, define
      a new boolean flag .of_match_full_name in struct regulator_desc to force
      the core to match against the node full-name instead of the plain name.
      Signed-off-by: default avatarCristian Marussi <cristian.marussi@arm.com>
      Link: https://lore.kernel.org/r/20201119191051.46363-4-cristian.marussi@arm.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      e7095c35
    • Mark Brown's avatar
      Merge tag 'scmi-voltage-5.11' of... · ce10f6ca
      Mark Brown authored
      Merge tag 'scmi-voltage-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into regulator-5.11
      
      SCMI voltage domain management protocol support for v5.11
      
      SCMI v3.0 voltage domain protocol support to discover the voltage levels
      supported by the domains and to set/get the configuration and voltage
      level of any given domain.
      ce10f6ca
  13. 20 Nov, 2020 3 commits
  14. 13 Nov, 2020 3 commits