Re: [PATCH 2/2] Input: goodix-berlin - fix vddio regulator references

Luca Weiss
2025-01-03T09:52:37Z

On Fri Jan 3, 2025 at 10:27 AM CET, Neil Armstrong wrote:
> Hi,
>
> On 03/01/2025 10:21, Luca Weiss wrote:
> > As per dt-bindings the property is called vddio-supply, so use the
> > correct name in the driver instead of iovdd. The datasheet also calls
> > the supply 'VDDIO'.
>
> This is duplicate of https://lore.kernel.org/all/20240805155806.16203-1-danila@jiaxyga.com/

Oh, any idea why it wasn't picked up since August?

>
> But it's still valid:
>
> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>

Thanks!

Regards
Luca

>
> >
> > Fixes: 44362279bdd4 ("Input: add core support for Goodix Berlin Touchscreen IC")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> > ---
> > drivers/input/touchscreen/goodix_berlin_core.c | 24 ++++++++++++------------
> > 1 file changed, 12 insertions(+), 12 deletions(-)
> >
> > diff --git a/drivers/input/touchscreen/goodix_berlin_core.c b/drivers/input/touchscreen/goodix_berlin_core.c
> > index e273fb8edc6b92bcbad0fd35223a841d7da7d671..7f8cfdd106fae03a6b197582bca4eb61f80182c6 100644
> > --- a/drivers/input/touchscreen/goodix_berlin_core.c
> > +++ b/drivers/input/touchscreen/goodix_berlin_core.c
> > @@ -165,7 +165,7 @@ struct goodix_berlin_core {
> > struct device *dev;
> > struct regmap *regmap;
> > struct regulator *avdd;
> > - struct regulator *iovdd;
> > + struct regulator *vddio;
> > struct gpio_desc *reset_gpio;
> > struct touchscreen_properties props;
> > struct goodix_berlin_fw_version fw_version;
> > @@ -248,19 +248,19 @@ static int goodix_berlin_power_on(struct goodix_berlin_core *cd)
> > {
> > int error;
> >
> > - error = regulator_enable(cd->iovdd);
> > + error = regulator_enable(cd->vddio);
> > if (error) {
> > - dev_err(cd->dev, "Failed to enable iovdd: %d\n", error);
> > + dev_err(cd->dev, "Failed to enable vddio: %d\n", error);
> > return error;
> > }
> >
> > - /* Vendor waits 3ms for IOVDD to settle */
> > + /* Vendor waits 3ms for VDDIO to settle */
> > usleep_range(3000, 3100);
> >
> > error = regulator_enable(cd->avdd);
> > if (error) {
> > dev_err(cd->dev, "Failed to enable avdd: %d\n", error);
> > - goto err_iovdd_disable;
> > + goto err_vddio_disable;
> > }
> >
> > /* Vendor waits 15ms for AVDD to settle */
> > @@ -283,8 +283,8 @@ static int goodix_berlin_power_on(struct goodix_berlin_core *cd)
> > err_dev_reset:
> > gpiod_set_value_cansleep(cd->reset_gpio, 1);
> > regulator_disable(cd->avdd);
> > -err_iovdd_disable:
> > - regulator_disable(cd->iovdd);
> > +err_vddio_disable:
> > + regulator_disable(cd->vddio);
> > return error;
> > }
> >
> > @@ -292,7 +292,7 @@ static void goodix_berlin_power_off(struct goodix_berlin_core *cd)
> > {
> > gpiod_set_value_cansleep(cd->reset_gpio, 1);
> > regulator_disable(cd->avdd);
> > - regulator_disable(cd->iovdd);
> > + regulator_disable(cd->vddio);
> > }
> >
> > static int goodix_berlin_read_version(struct goodix_berlin_core *cd)
> > @@ -744,10 +744,10 @@ int goodix_berlin_probe(struct device *dev, int irq, const struct input_id *id,
> > return dev_err_probe(dev, PTR_ERR(cd->avdd),
> > "Failed to request avdd regulator\n");
> >
> > - cd->iovdd = devm_regulator_get(dev, "iovdd");
> > - if (IS_ERR(cd->iovdd))
> > - return dev_err_probe(dev, PTR_ERR(cd->iovdd),
> > - "Failed to request iovdd regulator\n");
> > + cd->vddio = devm_regulator_get(dev, "vddio");
> > + if (IS_ERR(cd->vddio))
> > + return dev_err_probe(dev, PTR_ERR(cd->vddio),
> > + "Failed to request vddio regulator\n");
> >
> > error = goodix_berlin_power_on(cd);
> > if (error) {
> >