mbox series

[v7,0/3] Add support for SCMI-Regulator

Message ID 20201123202336.46701-1-cristian.marussi@arm.com
Headers show
Series Add support for SCMI-Regulator | expand

Message

Cristian Marussi Nov. 23, 2020, 8:23 p.m. UTC
Hi,

this series introduces the support for a new generic SCMI Regulator driver
developed on top of the recently introduced SCMI Voltage Domain Protocol
support as specified in the upcoming SCMIv3.0 specification. [1]

The underlying SCMI VD Protocol support, which was originally part of this
series, is now applied on for-next/scmi-voltage [2], and this series,
reduced to its SCMI Regulator support and dt-bindings fixes is similarly
based on top of [2]:

commit ec8838193695 ("firmware: arm_scmi: Add support to enumerated SCMI
		      voltage domain device")

Thanks,

Cristian

---
v6 --> v7
- rebased on top of for-next/scmi-voltage
- added dt-bindings fix to remove optional properties
- 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

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-voltage

Cristian Marussi (3):
  dt-bindings: arm: remove optional properties for SCMI Regulators
  regulator: core: add of_match_full_name boolean flag
  regulator: add SCMI driver

 .../devicetree/bindings/arm/arm,scmi.txt      |  11 +-
 drivers/regulator/Kconfig                     |   9 +
 drivers/regulator/Makefile                    |   1 +
 drivers/regulator/of_regulator.c              |   8 +-
 drivers/regulator/scmi-regulator.c            | 417 ++++++++++++++++++
 include/linux/regulator/driver.h              |   3 +
 6 files changed, 437 insertions(+), 12 deletions(-)
 create mode 100644 drivers/regulator/scmi-regulator.c

Comments

Mark Brown Nov. 23, 2020, 9:46 p.m. UTC | #1
On Mon, 23 Nov 2020 20:23:33 +0000, Cristian Marussi wrote:
> this series introduces the support for a new generic SCMI Regulator driver
> developed on top of the recently introduced SCMI Voltage Domain Protocol
> support as specified in the upcoming SCMIv3.0 specification. [1]
> 
> The underlying SCMI VD Protocol support, which was originally part of this
> series, is now applied on for-next/scmi-voltage [2], and this series,
> reduced to its SCMI Regulator support and dt-bindings fixes is similarly
> based on top of [2]:
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next

Thanks!

[1/2] dt-bindings: arm: remove optional properties for SCMI Regulators
      commit: e8056bf01080eeb13b0229f3fa4cb25a5a2de6a5
[2/2] regulator: add SCMI driver
      commit: 0fbeae70ee7ce98e18a47337cd1f205dd88589e9

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark