diff mbox series

[v2,03/11] drm/bridge: ti-sn65dsi86: Propagate errors in .get_state() to the caller

Message ID 20221130152148.2769768-4-u.kleine-koenig@pengutronix.de
State Accepted
Headers show
Series pwm: Allow .get_state to fail | expand

Commit Message

Uwe Kleine-König Nov. 30, 2022, 3:21 p.m. UTC
.get_state() can return an error indication. Make use of it to propagate
failing hardware accesses.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/gpu/drm/bridge/ti-sn65dsi86.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Doug Anderson Dec. 1, 2022, 3:37 p.m. UTC | #1
Hi,

On Wed, Nov 30, 2022 at 7:22 AM Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> wrote:
>
> .get_state() can return an error indication. Make use of it to propagate
> failing hardware accesses.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

Acked-by: Douglas Anderson <dianders@chromium.org>
Uwe Kleine-König Dec. 4, 2022, 9:09 p.m. UTC | #2
Hello,

my initial Cc-list wasn't optimal. So I added a few people here.

On Wed, Nov 30, 2022 at 04:21:40PM +0100, Uwe Kleine-König wrote:
> .get_state() can return an error indication. Make use of it to propagate
> failing hardware accesses.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> index 6826d2423ae9..9671071490d8 100644
> --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> @@ -1512,19 +1512,19 @@ static int ti_sn_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
>  
>  	ret = regmap_read(pdata->regmap, SN_PWM_EN_INV_REG, &pwm_en_inv);
>  	if (ret)
> -		return 0;
> +		return ret;
>  
>  	ret = ti_sn65dsi86_read_u16(pdata, SN_BACKLIGHT_SCALE_REG, &scale);
>  	if (ret)
> -		return 0;
> +		return ret;
>  
>  	ret = ti_sn65dsi86_read_u16(pdata, SN_BACKLIGHT_REG, &backlight);
>  	if (ret)
> -		return 0;
> +		return ret;
>  
>  	ret = regmap_read(pdata->regmap, SN_PWM_PRE_DIV_REG, &pre_div);
>  	if (ret)
> -		return 0;
> +		return ret;
>  
>  	state->enabled = FIELD_GET(SN_PWM_EN_MASK, pwm_en_inv);
>  	if (FIELD_GET(SN_PWM_INV_MASK, pwm_en_inv))

It would be great to get an Ack to take this patch and patch #1 via the
PWM tree. (Both got an Ack by Douglas Anderson, I'm unsure if that is
already enough.)

Best regards
Uwe
Laurent Pinchart Dec. 4, 2022, 9:31 p.m. UTC | #3
On Sun, Dec 04, 2022 at 10:09:40PM +0100, Uwe Kleine-König wrote:
> Hello,
> 
> my initial Cc-list wasn't optimal. So I added a few people here.
> 
> On Wed, Nov 30, 2022 at 04:21:40PM +0100, Uwe Kleine-König wrote:
> > .get_state() can return an error indication. Make use of it to propagate
> > failing hardware accesses.
> > 
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

> > ---
> >  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > index 6826d2423ae9..9671071490d8 100644
> > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > @@ -1512,19 +1512,19 @@ static int ti_sn_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
> >  
> >  	ret = regmap_read(pdata->regmap, SN_PWM_EN_INV_REG, &pwm_en_inv);
> >  	if (ret)
> > -		return 0;
> > +		return ret;
> >  
> >  	ret = ti_sn65dsi86_read_u16(pdata, SN_BACKLIGHT_SCALE_REG, &scale);
> >  	if (ret)
> > -		return 0;
> > +		return ret;
> >  
> >  	ret = ti_sn65dsi86_read_u16(pdata, SN_BACKLIGHT_REG, &backlight);
> >  	if (ret)
> > -		return 0;
> > +		return ret;
> >  
> >  	ret = regmap_read(pdata->regmap, SN_PWM_PRE_DIV_REG, &pre_div);
> >  	if (ret)
> > -		return 0;
> > +		return ret;
> >  
> >  	state->enabled = FIELD_GET(SN_PWM_EN_MASK, pwm_en_inv);
> >  	if (FIELD_GET(SN_PWM_INV_MASK, pwm_en_inv))
> 
> It would be great to get an Ack to take this patch and patch #1 via the
> PWM tree. (Both got an Ack by Douglas Anderson, I'm unsure if that is
> already enough.)
Doug Anderson Dec. 5, 2022, 3:25 p.m. UTC | #4
Hi,

On Sun, Dec 4, 2022 at 1:09 PM Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> wrote:
>
> Hello,
>
> my initial Cc-list wasn't optimal. So I added a few people here.
>
> On Wed, Nov 30, 2022 at 04:21:40PM +0100, Uwe Kleine-König wrote:
> > .get_state() can return an error indication. Make use of it to propagate
> > failing hardware accesses.
> >
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > ---
> >  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > index 6826d2423ae9..9671071490d8 100644
> > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > @@ -1512,19 +1512,19 @@ static int ti_sn_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
> >
> >       ret = regmap_read(pdata->regmap, SN_PWM_EN_INV_REG, &pwm_en_inv);
> >       if (ret)
> > -             return 0;
> > +             return ret;
> >
> >       ret = ti_sn65dsi86_read_u16(pdata, SN_BACKLIGHT_SCALE_REG, &scale);
> >       if (ret)
> > -             return 0;
> > +             return ret;
> >
> >       ret = ti_sn65dsi86_read_u16(pdata, SN_BACKLIGHT_REG, &backlight);
> >       if (ret)
> > -             return 0;
> > +             return ret;
> >
> >       ret = regmap_read(pdata->regmap, SN_PWM_PRE_DIV_REG, &pre_div);
> >       if (ret)
> > -             return 0;
> > +             return ret;
> >
> >       state->enabled = FIELD_GET(SN_PWM_EN_MASK, pwm_en_inv);
> >       if (FIELD_GET(SN_PWM_INV_MASK, pwm_en_inv))
>
> It would be great to get an Ack to take this patch and patch #1 via the
> PWM tree. (Both got an Ack by Douglas Anderson, I'm unsure if that is
> already enough.)

I'm probably the main person who reviews patches to ti-sn65dsi86.c
these days and I'm also typically the one landing patches, but
officially this driver goes through "drm-misc". IMO it's fine for this
to go through your tree and that's what I intended by my Ack. It seems
highly unlikely to cause any merge conflicts. That being said, since
we're drm-misc it means that the "adults" in the room (the ones who
have to deal with fallout if there are merge conflicts) are supposed
to be "Daniel, Jani and Sean" according to the docs [1].  ...though it
seems like the drm-misc-next pull requests these days come from
Maxime, so maybe he would be the right person to confirm that it could
go through your tree?

[1] https://people.freedesktop.org/~jani/html/drm-misc.html#
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
index 6826d2423ae9..9671071490d8 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
@@ -1512,19 +1512,19 @@  static int ti_sn_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
 
 	ret = regmap_read(pdata->regmap, SN_PWM_EN_INV_REG, &pwm_en_inv);
 	if (ret)
-		return 0;
+		return ret;
 
 	ret = ti_sn65dsi86_read_u16(pdata, SN_BACKLIGHT_SCALE_REG, &scale);
 	if (ret)
-		return 0;
+		return ret;
 
 	ret = ti_sn65dsi86_read_u16(pdata, SN_BACKLIGHT_REG, &backlight);
 	if (ret)
-		return 0;
+		return ret;
 
 	ret = regmap_read(pdata->regmap, SN_PWM_PRE_DIV_REG, &pre_div);
 	if (ret)
-		return 0;
+		return ret;
 
 	state->enabled = FIELD_GET(SN_PWM_EN_MASK, pwm_en_inv);
 	if (FIELD_GET(SN_PWM_INV_MASK, pwm_en_inv))