diff mbox series

video: backlight: ili9320: Make ili9320_remove() return void

Message ID 20211019120927.3822792-1-u.kleine-koenig@pengutronix.de (mailing list archive)
State Awaiting Upstream
Headers show
Series video: backlight: ili9320: Make ili9320_remove() return void | expand

Commit Message

Uwe Kleine-König Oct. 19, 2021, 12:09 p.m. UTC
Up to now ili9320_remove() returns zero unconditionally. Make it return
void instead which makes it easier to see in the callers that there is
no error to handle.

Also the return value of spi remove callbacks is ignored anyway.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/video/backlight/ili9320.c   | 3 +--
 drivers/video/backlight/ili9320.h   | 2 +-
 drivers/video/backlight/vgg2432a4.c | 4 +++-
 3 files changed, 5 insertions(+), 4 deletions(-)

Comments

Daniel Thompson Oct. 19, 2021, 3:30 p.m. UTC | #1
On Tue, Oct 19, 2021 at 02:09:27PM +0200, Uwe Kleine-König wrote:
> Up to now ili9320_remove() returns zero unconditionally. Make it return
> void instead which makes it easier to see in the callers that there is
> no error to handle.

Ultimately the actions here boil down to an SPI write which could fail
so we could make an attempt to correct the broken error propagation
inside ili9320.c instead...


> Also the return value of spi remove callbacks is ignored anyway.

... which does inform the above question.

Is this patch a local fix or part of a larger plan to eventually change
the return value of the spi_remove to void?


Daniel.


> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/video/backlight/ili9320.c   | 3 +--
>  drivers/video/backlight/ili9320.h   | 2 +-
>  drivers/video/backlight/vgg2432a4.c | 4 +++-
>  3 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/video/backlight/ili9320.c b/drivers/video/backlight/ili9320.c
> index 168ac79523d7..2acd2708f8ca 100644
> --- a/drivers/video/backlight/ili9320.c
> +++ b/drivers/video/backlight/ili9320.c
> @@ -251,10 +251,9 @@ int ili9320_probe_spi(struct spi_device *spi,
>  }
>  EXPORT_SYMBOL_GPL(ili9320_probe_spi);
>  
> -int ili9320_remove(struct ili9320 *ili)
> +void ili9320_remove(struct ili9320 *ili)
>  {
>  	ili9320_power(ili, FB_BLANK_POWERDOWN);
> -	return 0;
>  }
>  EXPORT_SYMBOL_GPL(ili9320_remove);
>  
> diff --git a/drivers/video/backlight/ili9320.h b/drivers/video/backlight/ili9320.h
> index fc59e389d59a..8213cc6e9184 100644
> --- a/drivers/video/backlight/ili9320.h
> +++ b/drivers/video/backlight/ili9320.h
> @@ -68,7 +68,7 @@ extern int ili9320_write_regs(struct ili9320 *ili,
>  extern int ili9320_probe_spi(struct spi_device *spi,
>  			     struct ili9320_client *cli);
>  
> -extern int ili9320_remove(struct ili9320 *lcd);
> +extern void ili9320_remove(struct ili9320 *lcd);
>  extern void ili9320_shutdown(struct ili9320 *lcd);
>  
>  /* PM */
> diff --git a/drivers/video/backlight/vgg2432a4.c b/drivers/video/backlight/vgg2432a4.c
> index 9bf277ca4ae9..3567b45f9ba9 100644
> --- a/drivers/video/backlight/vgg2432a4.c
> +++ b/drivers/video/backlight/vgg2432a4.c
> @@ -235,7 +235,9 @@ static int vgg2432a4_probe(struct spi_device *spi)
>  
>  static int vgg2432a4_remove(struct spi_device *spi)
>  {
> -	return ili9320_remove(spi_get_drvdata(spi));
> +	ili9320_remove(spi_get_drvdata(spi));
> +
> +	return 0;
>  }
>  
>  static void vgg2432a4_shutdown(struct spi_device *spi)
> -- 
> 2.30.2
>
Uwe Kleine-König Oct. 19, 2021, 4:36 p.m. UTC | #2
On Tue, Oct 19, 2021 at 04:30:37PM +0100, Daniel Thompson wrote:
> On Tue, Oct 19, 2021 at 02:09:27PM +0200, Uwe Kleine-König wrote:
> > Up to now ili9320_remove() returns zero unconditionally. Make it return
> > void instead which makes it easier to see in the callers that there is
> > no error to handle.
> 
> Ultimately the actions here boil down to an SPI write which could fail
> so we could make an attempt to correct the broken error propagation
> inside ili9320.c instead...
> 
> > Also the return value of spi remove callbacks is ignored anyway.
> 
> ... which does inform the above question.
> 
> Is this patch a local fix or part of a larger plan to eventually change
> the return value of the spi_remove to void?

This is the motivation yes, so there isn't any sane way to propagate an
error. The only thing you could sensibly do is to print an error
message. But the device will go away no matter what you do. (Well, you
could do an endless-loop to "delay" removing, but ...)

Best regards
Uwe
Daniel Thompson Oct. 20, 2021, 1:32 p.m. UTC | #3
On Tue, Oct 19, 2021 at 06:36:21PM +0200, Uwe Kleine-König wrote:
> On Tue, Oct 19, 2021 at 04:30:37PM +0100, Daniel Thompson wrote:
> > On Tue, Oct 19, 2021 at 02:09:27PM +0200, Uwe Kleine-König wrote:
> > > Up to now ili9320_remove() returns zero unconditionally. Make it return
> > > void instead which makes it easier to see in the callers that there is
> > > no error to handle.
> > 
> > Ultimately the actions here boil down to an SPI write which could fail
> > so we could make an attempt to correct the broken error propagation
> > inside ili9320.c instead...
> > 
> > > Also the return value of spi remove callbacks is ignored anyway.
> > 
> > ... which does inform the above question.
> > 
> > Is this patch a local fix or part of a larger plan to eventually change
> > the return value of the spi_remove to void?
> 
> This is the motivation yes, so there isn't any sane way to propagate an
> error. The only thing you could sensibly do is to print an error
> message. But the device will go away no matter what you do. (Well, you
> could do an endless-loop to "delay" removing, but ...)

Great. Thanks for confirming... and in that case:

Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>


Daniel.
Lee Jones Oct. 20, 2021, 2:14 p.m. UTC | #4
On Tue, 19 Oct 2021, Uwe Kleine-König wrote:

> Up to now ili9320_remove() returns zero unconditionally. Make it return
> void instead which makes it easier to see in the callers that there is
> no error to handle.
> 
> Also the return value of spi remove callbacks is ignored anyway.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
>  drivers/video/backlight/ili9320.c   | 3 +--
>  drivers/video/backlight/ili9320.h   | 2 +-
>  drivers/video/backlight/vgg2432a4.c | 4 +++-
>  3 files changed, 5 insertions(+), 4 deletions(-)

Applied, thanks.
diff mbox series

Patch

diff --git a/drivers/video/backlight/ili9320.c b/drivers/video/backlight/ili9320.c
index 168ac79523d7..2acd2708f8ca 100644
--- a/drivers/video/backlight/ili9320.c
+++ b/drivers/video/backlight/ili9320.c
@@ -251,10 +251,9 @@  int ili9320_probe_spi(struct spi_device *spi,
 }
 EXPORT_SYMBOL_GPL(ili9320_probe_spi);
 
-int ili9320_remove(struct ili9320 *ili)
+void ili9320_remove(struct ili9320 *ili)
 {
 	ili9320_power(ili, FB_BLANK_POWERDOWN);
-	return 0;
 }
 EXPORT_SYMBOL_GPL(ili9320_remove);
 
diff --git a/drivers/video/backlight/ili9320.h b/drivers/video/backlight/ili9320.h
index fc59e389d59a..8213cc6e9184 100644
--- a/drivers/video/backlight/ili9320.h
+++ b/drivers/video/backlight/ili9320.h
@@ -68,7 +68,7 @@  extern int ili9320_write_regs(struct ili9320 *ili,
 extern int ili9320_probe_spi(struct spi_device *spi,
 			     struct ili9320_client *cli);
 
-extern int ili9320_remove(struct ili9320 *lcd);
+extern void ili9320_remove(struct ili9320 *lcd);
 extern void ili9320_shutdown(struct ili9320 *lcd);
 
 /* PM */
diff --git a/drivers/video/backlight/vgg2432a4.c b/drivers/video/backlight/vgg2432a4.c
index 9bf277ca4ae9..3567b45f9ba9 100644
--- a/drivers/video/backlight/vgg2432a4.c
+++ b/drivers/video/backlight/vgg2432a4.c
@@ -235,7 +235,9 @@  static int vgg2432a4_probe(struct spi_device *spi)
 
 static int vgg2432a4_remove(struct spi_device *spi)
 {
-	return ili9320_remove(spi_get_drvdata(spi));
+	ili9320_remove(spi_get_drvdata(spi));
+
+	return 0;
 }
 
 static void vgg2432a4_shutdown(struct spi_device *spi)