[PATCH] regulator: Let raspberrypi drivers depend on ARM

Jean Delvare posted 1 patch 3 months, 1 week ago
drivers/regulator/Kconfig |    2 ++
1 file changed, 2 insertions(+)
[PATCH] regulator: Let raspberrypi drivers depend on ARM
Posted by Jean Delvare 3 months, 1 week ago
The Raspberry Pi drivers aren't useful on other architectures, so
only offer them on ARM and ARM64, except for build testing purposes.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
Marek, Dave, would you be OK with that change?

 drivers/regulator/Kconfig |    2 ++
 1 file changed, 2 insertions(+)

--- linux-6.17.orig/drivers/regulator/Kconfig
+++ linux-6.17/drivers/regulator/Kconfig
@@ -1144,6 +1144,7 @@ config REGULATOR_RAA215300
 
 config REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY
 	tristate "Raspberry Pi 7-inch touchscreen panel ATTINY regulator"
+	depends on ARM || ARM64 || COMPILE_TEST
 	depends on BACKLIGHT_CLASS_DEVICE
 	depends on I2C
 	depends on OF_GPIO
@@ -1155,6 +1156,7 @@ config REGULATOR_RASPBERRYPI_TOUCHSCREEN
 
 config REGULATOR_RASPBERRYPI_TOUCHSCREEN_V2
 	tristate "Raspberry Pi 7-inch touchscreen panel V2 regulator"
+	depends on ARM || ARM64 || COMPILE_TEST
 	depends on GPIOLIB
 	depends on I2C && OF
 	select GPIO_REGMAP


-- 
Jean Delvare
SUSE L3 Support
Re: [PATCH] regulator: Let raspberrypi drivers depend on ARM
Posted by Dave Stevenson 3 months, 1 week ago
Hi Jean

Sorry I was out of the office for a few days.

On Mon, 27 Oct 2025 at 12:22, Jean Delvare <jdelvare@suse.de> wrote:
>
> The Raspberry Pi drivers aren't useful on other architectures, so
> only offer them on ARM and ARM64, except for build testing purposes.
>
> Signed-off-by: Jean Delvare <jdelvare@suse.de>
> ---
> Marek, Dave, would you be OK with that change?

These regulator drivers are for a MIPI DSI display, so they can work
with any platform that has a DSI interface. Currently that is mainly
ARM/ARM64 SoC, but there's nothing stopping RISC-V or x86 having a DSI
interface.

Checking and [1] says the Intel Alder Lake 12th gen processors support
DSI, although presumably that would also then need ACPI support in the
driver.
[2] says the OrangePi RV2 is a RISC-V board with DSI interface, and
there is at least basic support for the board in mainline, although
not obviously the DSI block.

Personally I see little point in reducing the scope to just ARM/ARM64
as it may well need to be extended again. What's your reasoning for
saying they aren't useful on other architectures?

  Dave

[1] https://edc.intel.com/content/www/us/en/design/ipla/software-development-platforms/client/platforms/alder-lake-desktop/12th-generation-intel-core-processors-datasheet-volume-1-of-2/010/mipi-dsi/
[2] http://www.orangepi.org/orangepiwiki/index.php/Orange_Pi_RV2

>  drivers/regulator/Kconfig |    2 ++
>  1 file changed, 2 insertions(+)
>
> --- linux-6.17.orig/drivers/regulator/Kconfig
> +++ linux-6.17/drivers/regulator/Kconfig
> @@ -1144,6 +1144,7 @@ config REGULATOR_RAA215300
>
>  config REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY
>         tristate "Raspberry Pi 7-inch touchscreen panel ATTINY regulator"
> +       depends on ARM || ARM64 || COMPILE_TEST
>         depends on BACKLIGHT_CLASS_DEVICE
>         depends on I2C
>         depends on OF_GPIO
> @@ -1155,6 +1156,7 @@ config REGULATOR_RASPBERRYPI_TOUCHSCREEN
>
>  config REGULATOR_RASPBERRYPI_TOUCHSCREEN_V2
>         tristate "Raspberry Pi 7-inch touchscreen panel V2 regulator"
> +       depends on ARM || ARM64 || COMPILE_TEST
>         depends on GPIOLIB
>         depends on I2C && OF
>         select GPIO_REGMAP
>
>
> --
> Jean Delvare
> SUSE L3 Support
Re: [PATCH] regulator: Let raspberrypi drivers depend on ARM
Posted by Jean Delvare 3 months, 1 week ago
Hi Dave,

On Thu, 2025-10-30 at 11:09 +0000, Dave Stevenson wrote:
> Sorry I was out of the office for a few days.
> 
> On Mon, 27 Oct 2025 at 12:22, Jean Delvare <jdelvare@suse.de> wrote:
> > 
> > The Raspberry Pi drivers aren't useful on other architectures, so
> > only offer them on ARM and ARM64, except for build testing purposes.
> > 
> > Signed-off-by: Jean Delvare <jdelvare@suse.de>
> > ---
> > Marek, Dave, would you be OK with that change?
> 
> These regulator drivers are for a MIPI DSI display, so they can work
> with any platform that has a DSI interface. Currently that is mainly
> ARM/ARM64 SoC, but there's nothing stopping RISC-V or x86 having a DSI
> interface.
> 
> Checking and [1] says the Intel Alder Lake 12th gen processors support
> DSI, although presumably that would also then need ACPI support in the
> driver.
> [2] says the OrangePi RV2 is a RISC-V board with DSI interface, and
> there is at least basic support for the board in mainline, although
> not obviously the DSI block.
> 
> Personally I see little point in reducing the scope to just ARM/ARM64
> as it may well need to be extended again.

I personally see no problem with extending the scope as new hardware is
released. I think it's much better than building drivers on
architectures where they aren't needed.

> What's your reasoning for
> saying they aren't useful on other architectures?

My reasoning was that the config symbol names have RASPBERRYPI, and
their labels start with "Raspberry Pi". So I concluded that these
drivers were only useful on Raspberry Pi.

If the use of these drivers is not restricted to Raspberry Pi hardware,
then I agree that binding these options to a specific architecture
isn't right. But then these config options should be renamed and
relabeled to properly describe what interfaces and devices they
actually relate to.

As a side note, I'm surprised that these options get to be selected
independently from the touchscreen driver for the same hardware.
Presumably driving the regulator is only meaningful if the touchscreen
driver is also built and loaded?

To give you some context, the problem I am trying to address is that
with every new kernel version, all distribution kernel maintainers out
there need to make decisions on which drivers to include on every
supported architecture. Limiting drivers to their intended
architecture(s) makes this process faster and less error-prone. Which
in turn avoids wasting resources later on building, and backporting
security fixes to, drivers which aren't actually used.

Thanks,
-- 
Jean Delvare
SUSE L3 Support
Re: [PATCH] regulator: Let raspberrypi drivers depend on ARM
Posted by Geert Uytterhoeven 1 month, 3 weeks ago
Hi Jean,

Thanks for your patch, which is now commit 01313661b248c5ba
("regulator: Let raspberrypi drivers depend on ARM") in v6.19-rc1.

On Thu, 30 Oct 2025 at 13:33, Jean Delvare <jdelvare@suse.de> wrote:
> On Thu, 2025-10-30 at 11:09 +0000, Dave Stevenson wrote:
> > On Mon, 27 Oct 2025 at 12:22, Jean Delvare <jdelvare@suse.de> wrote:
> > > The Raspberry Pi drivers aren't useful on other architectures, so
> > > only offer them on ARM and ARM64, except for build testing purposes.
> > >
> > > Signed-off-by: Jean Delvare <jdelvare@suse.de>
> > > ---
> > > Marek, Dave, would you be OK with that change?
> >
> > These regulator drivers are for a MIPI DSI display, so they can work
> > with any platform that has a DSI interface. Currently that is mainly
> > ARM/ARM64 SoC, but there's nothing stopping RISC-V or x86 having a DSI
> > interface.
> >
> > Checking and [1] says the Intel Alder Lake 12th gen processors support
> > DSI, although presumably that would also then need ACPI support in the
> > driver.
> > [2] says the OrangePi RV2 is a RISC-V board with DSI interface, and
> > there is at least basic support for the board in mainline, although
> > not obviously the DSI block.
> >
> > Personally I see little point in reducing the scope to just ARM/ARM64
> > as it may well need to be extended again.
>
> I personally see no problem with extending the scope as new hardware is
> released. I think it's much better than building drivers on
> architectures where they aren't needed.
>
> > What's your reasoning for
> > saying they aren't useful on other architectures?
>
> My reasoning was that the config symbol names have RASPBERRYPI, and
> their labels start with "Raspberry Pi". So I concluded that these
> drivers were only useful on Raspberry Pi.

The names reflect the branding of these devices.  They do not mean
that these are drivers for components on actual Raspberry Pi SBCs with
Broadcom ARM/ARM64 SoCs.  The same is true for the various "Raspberry
Pi camera modules", which work with anything that has CSI.

> If the use of these drivers is not restricted to Raspberry Pi hardware,
> then I agree that binding these options to a specific architecture
> isn't right. But then these config options should be renamed and
> relabeled to properly describe what interfaces and devices they
> actually relate to.

Looking at the users of "raspberrypi,7inch-touchscreen-panel-regulator"
and "raspberrypi,touchscreen-panel-regulator-v2":

    $ git grep -l "raspberrypi,.*touchscreen-panel-regulator" -- "*dts*"
    arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx-0x-rpidsi.dtso
    arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rpidsi.dtso
    arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx-rpidsi.dtso
    arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk-rpi-display-2.dtsi

I see nothing Raspberry Pi SBC-specific in the microcontroller interface
these are regulator drivers for.   With the right DTS glue, these panels
can be made to work on anything that has a DSI interface.  In fact
none of the upstream users listed above are related to Raspberry
Pi SBCs.

> As a side note, I'm surprised that these options get to be selected
> independently from the touchscreen driver for the same hardware.
> Presumably driving the regulator is only meaningful if the touchscreen
> driver is also built and loaded?

Only one of the DTS users above describe the touchscreen?

> To give you some context, the problem I am trying to address is that
> with every new kernel version, all distribution kernel maintainers out
> there need to make decisions on which drivers to include on every
> supported architecture. Limiting drivers to their intended
> architecture(s) makes this process faster and less error-prone. Which
> in turn avoids wasting resources later on building, and backporting
> security fixes to, drivers which aren't actually used.

Usually I am the first to add a platform dependency on a symbol that
can be used only on a single platform ;-)  But in this case, I think
they should be enabled on all architectures that can have DSI (and I2C,
which is implied by DSI, IIRC).

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Re: [PATCH] regulator: Let raspberrypi drivers depend on ARM
Posted by Mark Brown 3 months, 1 week ago
On Mon, 27 Oct 2025 13:22:19 +0100, Jean Delvare wrote:
> The Raspberry Pi drivers aren't useful on other architectures, so
> only offer them on ARM and ARM64, except for build testing purposes.
> 
> 

Applied to

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

Thanks!

[1/1] regulator: Let raspberrypi drivers depend on ARM
      commit: 01313661b248c5ba586acae09bff57077dbec0a5

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