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.
regulator: event: Ensure atomicity for sequence number

Previously, the sequence number in the regulator event subsystem was
updated without atomic operations, potentially leading to race
conditions. This commit addresses the issue by making the sequence
number atomic.

Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Link: https://msgid.link/r/20240104141314.3337037-1-naresh.solanki@9elements.com
Signed-off-by: Mark Brown <broonie@kernel.org>
1 file changed