[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210824230620.1003828-1-djrscally@gmail.com>
Date: Wed, 25 Aug 2021 00:06:17 +0100
From: Daniel Scally <djrscally@...il.com>
To: linux-kernel@...r.kernel.org, platform-driver-x86@...r.kernel.org
Cc: Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
Hans de Goede <hdegoede@...hat.com>,
Mark Gross <mgross@...ux.intel.com>,
Maximilian Luz <luzmaximilian@...il.com>,
Kieran Bingham <kieran.bingham@...asonboard.com>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>
Subject: [RFC PATCH v2 0/3] Add regulator_lookup_list and API
Hello all
This series adds a new list to the regulator core; regulator_lookup_list.
The intended purpose of this is to allow board files to pass instances of
struct regulator_init_data to regulators that are being registered by
_other_ pieces of code.
The problem this is intended to solve is where ACPI enumerates i2c devices
that provide one or more regulators, but which do not have any power
control methods defined in ACPI. This leaves the consumers of those
regulators unable to use them. With this series, the regulator drivers for
those i2c devices can bind and register regulators which will pick up the
init data as though it were parsed from devicetree. The new API emulates
gpiod_add_lookup_table() to allow early-running code to fill in that
init_data so that it's available by the time the i2c driver probes and
registers the regulators.
This is marked v2, because an earlier series [1] had the same aims albeit
using a totally different methodology. There's little commonality between
them, but I include the reference for context.
Thanks
Dan
[1] https://lore.kernel.org/platform-driver-x86/20210708224226.457224-1-djrscally@gmail.com/
Daniel Scally (3):
regulator: core: Add regulator_lookup_list
Documentation: power: Document regulator_lookup_list
platform/surface: Add Surface Go 2 board file
Documentation/power/regulator/machine.rst | 31 ++++++
MAINTAINERS | 6 ++
drivers/platform/surface/Kconfig | 10 ++
drivers/platform/surface/Makefile | 1 +
drivers/platform/surface/surface_go_2.c | 97 ++++++++++++++++++
drivers/regulator/core.c | 119 +++++++++++++++++++++-
include/linux/regulator/machine.h | 23 +++++
7 files changed, 286 insertions(+), 1 deletion(-)
create mode 100644 drivers/platform/surface/surface_go_2.c
--
2.25.1
Powered by blists - more mailing lists