[GIT PULL] regulator updates for v6.8

From: Mark Brown
Date: Sun Jan 07 2024 - 17:38:26 EST


The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86:

Linux 6.7-rc1 (2023-11-12 16:19:07 -0800)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git tags/regulator-v6.8

for you to fetch changes up to 1cadc04c1a1ac5015c2eb0fadfabf4b61bbe167e:

regulator: event: Ensure atomicity for sequence number (2024-01-04 20:02:06 +0000)

----------------------------------------------------------------
regulator: Updates for v6.8

The main updates for this release are around monitoring of regulators,
largely for error handling purposes. We allow the stream of regulator
events to be seen by userspace as netlink events and allow system
integrators to describe individual regulators as system critical with
information on how long the system is expected to last on error. The
system level error handling is very much about best effort problem
mitigation rather than providing something fully robust, the initial
drive was to provide a mechanism for trying to avoid initiating any new
writes to flash once we notice the power going out.

Otherwise it's very quiet, mainly several new Qualcomm devices.

- Support for marking regulators as system critical and providing
information on how long the system might last with those regulators
in a failure state, hooked into the existing critical shutdown error
handling.
- Optional support for generating netlink events for events, there are
use cases for system monitoring UIs and error handling.
- A command line option to leave unused controllable regulators
enabled, useful for debugging. We already only disable regulators we
were explicitly given permission to control.
- Support for Quacomm MP5496, PM8010 and PM8937.

----------------------------------------------------------------
Andy Shevchenko (1):
regulator: Reuse LINEAR_RANGE() in REGULATOR_LINEAR_RANGE()

Colin Ian King (1):
regulator: palmas: remove redundant initialization of pointer pdata

Dang Huynh (4):
regulator: qcom_spmi: Add PM8937 SPMI regulator
dt-bindings: regulator: qcom,spmi-regulator: Document PM8937 PMIC
regulator: qcom_smd: Add PM8937 regulators
dt-bindings: regulator: qcom,smd-rpm-regulator: Document PM8937 IC

Fenglin Wu (3):
regulator: qcom-rpmh: extend to support multiple linear voltage ranges
regulator: dt-bindings: qcom,rpmh: add compatible for pm8010
regulator: qcom-rpmh: add support for pm8010 regulators

Javier Martinez Canillas (1):
regulator: core: Add option to prevent disabling unused regulators

Jiapeng Chong (1):
regulator: stpmic1: Fix kernel-doc notation warnings

Johan Hovold (1):
dt-bindings: regulator: qcom,usb-vbus-regulator: clean up example

Mark Brown (4):
Add PM8937 PMIC support
regulator: add under-voltage support (part 2)
regulator: Convert to platform remove callback
Add pm8010 RPMH regulators for sm8550 boards

Naresh Solanki (4):
regulator: event: Add regulator netlink event support
regulator: event: Add regulator netlink event support
uapi: regulator: Fix typo
regulator: event: Ensure atomicity for sequence number

Oleksij Rempel (5):
regulator: dt-bindings: Add system-critical-regulator property
regulator: Introduce handling for system-critical under-voltage events
regulator: dt-bindings: Allow system-critical marking for fixed-regulator
regulator: dt-bindings: Add 'regulator-uv-less-critical-window-ms' property
regulator: Implement uv_survival_time for handling under-voltage events

Rui Zhang (1):
regulator: core: Only increment use_count when enable_count changes

Uwe Kleine-König (8):
regulator: arizona-ldo1: Convert to platform remove callback returning void
regulator: bd9571mwv: Convert to platform remove callback returning void
regulator: db8500-prcmu: Convert to platform remove callback returning void
regulator: stm32-vrefbuf: Convert to platform remove callback returning void
regulator: uniphier: Convert to platform remove callback returning void
regulator: userspace-consumer: Convert to platform remove callback returning void
regulator: virtual: Convert to platform remove callback returning void
regulator: wm8350: Convert to platform remove callback returning void

Varadarajan Narayanan (1):
regulator: qcom_smd: Add LDO5 MP5496 regulator

Documentation/admin-guide/kernel-parameters.txt | 7 +
.../bindings/regulator/fixed-regulator.yaml | 2 +
.../bindings/regulator/qcom,rpmh-regulator.yaml | 14 ++
.../bindings/regulator/qcom,smd-rpm-regulator.yaml | 4 +
.../bindings/regulator/qcom,spmi-regulator.yaml | 19 +++
.../regulator/qcom,usb-vbus-regulator.yaml | 5 +-
.../devicetree/bindings/regulator/regulator.yaml | 13 ++
drivers/regulator/Kconfig | 10 ++
drivers/regulator/Makefile | 1 +
drivers/regulator/arizona-ldo1.c | 8 +-
drivers/regulator/bd9571mwv-regulator.c | 5 +-
drivers/regulator/core.c | 130 +++++++++++----
drivers/regulator/db8500-prcmu.c | 6 +-
drivers/regulator/event.c | 91 +++++++++++
drivers/regulator/of_regulator.c | 9 ++
drivers/regulator/palmas-regulator.c | 2 +-
drivers/regulator/qcom-rpmh-regulator.c | 177 ++++++++++++++++++---
drivers/regulator/qcom_smd-regulator.c | 35 ++++
drivers/regulator/qcom_spmi-regulator.c | 34 ++++
drivers/regulator/regnl.h | 13 ++
drivers/regulator/stm32-vrefbuf.c | 6 +-
drivers/regulator/stpmic1_regulator.c | 2 +-
drivers/regulator/uniphier-regulator.c | 6 +-
drivers/regulator/userspace-consumer.c | 6 +-
drivers/regulator/virtual.c | 6 +-
drivers/regulator/wm8350-regulator.c | 6 +-
include/linux/regulator/consumer.h | 47 +-----
include/linux/regulator/driver.h | 7 +-
include/linux/regulator/machine.h | 18 +++
include/uapi/regulator/regulator.h | 90 +++++++++++
30 files changed, 638 insertions(+), 141 deletions(-)
create mode 100644 drivers/regulator/event.c
create mode 100644 drivers/regulator/regnl.h
create mode 100644 include/uapi/regulator/regulator.h