Re: [PATCH v2 2/2] regulator: rpi-panel-v2: Add required vcc-supply support
From: Conor Dooley
Date: Mon Sep 07 2026 - 13:13:07 EST
On Mon, Sep 07, 2026 at 11:16:08AM +0530, Shashank Maurya wrote:
> The Raspberry Pi 7" touchscreen panel V2 MCU requires an external power
> rail to be enabled before any I2C register access is attempted. Use
> devm_regulator_get() to obtain the vcc supply and enable it at the
> start of probe.
>
> Signed-off-by: Shashank Maurya <shashank.maurya@xxxxxxxxxxxxxxxx>
> ---
> drivers/regulator/rpi-panel-v2-regulator.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/regulator/rpi-panel-v2-regulator.c b/drivers/regulator/rpi-panel-v2-regulator.c
> index 30b78aa75ee3..e54d675962e7 100644
> --- a/drivers/regulator/rpi-panel-v2-regulator.c
> +++ b/drivers/regulator/rpi-panel-v2-regulator.c
> @@ -11,6 +11,7 @@
> #include <linux/module.h>
> #include <linux/pwm.h>
> #include <linux/regmap.h>
> +#include <linux/regulator/consumer.h>
>
> /* I2C registers of the microcontroller. */
> #define REG_ID 0x01
> @@ -66,10 +67,21 @@ static int rpi_panel_v2_i2c_probe(struct i2c_client *i2c)
> .parent = &i2c->dev,
> .reg_set_base = REG_POWERON,
> };
> + struct regulator *vcc;
> struct regmap *regmap;
> struct pwm_chip *pc;
> int ret;
>
> + vcc = devm_regulator_get(&i2c->dev, "vcc");
> + if (IS_ERR(vcc))
> + return dev_err_probe(&i2c->dev, PTR_ERR(vcc),
> + "Failed to get vcc supply\n");
> +
> + ret = regulator_enable(vcc);
> + if (ret)
> + return dev_err_probe(&i2c->dev, ret,
> + "Failed to enable vcc supply\n");
This needs to be optional, because without it you'll break existing
devicetrees. Unless you can explain how all existing users are
nonfunctional (e.g. nothing ever enabled the supply, which seems
doubtful given this surely worked when it was added) this must remain
optional.
> +
> pc = devm_pwmchip_alloc(&i2c->dev, 1, 0);
> if (IS_ERR(pc))
> return PTR_ERR(pc);
>
> --
> 2.34.1
>
Attachment:
signature.asc
Description: PGP signature