linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/20] Make some spi device drivers return zero in .remove()
@ 2021-10-12 15:39 Uwe Kleine-König
  2021-10-12 15:39 ` [PATCH v2 05/20] input: adxl34xx: Make adxl34x_remove() return void Uwe Kleine-König
  2021-10-12 15:39 ` [PATCH v2 06/20] input: touchscreen: tsc200x: Make tsc200x_remove() " Uwe Kleine-König
  0 siblings, 2 replies; 6+ messages in thread
From: Uwe Kleine-König @ 2021-10-12 15:39 UTC (permalink / raw)
  To: Alexandre Torgue, Arnd Bergmann, Bartosz Golaszewski,
	Dmitry Torokhov, Eric Piel, Greg Kroah-Hartman, Guenter Roeck,
	Hans de Goede, Jarkko Sakkinen, Jason Gunthorpe, Jean Delvare,
	Jiri Slaby, Lee Jones, Linus Walleij, Mark Gross,
	Mauro Carvalho Chehab, Maxime Coquelin, Michael Hennerich,
	Miquel Raynal, Peter Huewe, Richard Weinberger, Thierry Reding,
	Vignesh Raghavendra, Yasunari Takiguchi
  Cc: Andy Shevchenko, Colin Ian King, Dan Carpenter, Fabio Estevam,
	Heiko Schocher, Len Baker, Mark Brown, Phil Reid, Sam Ravnborg,
	Tudor Ambarus, dri-devel, kernel, linux-fbdev, linux-gpio,
	linux-hwmon, linux-input, linux-integrity, linux-kernel,
	linux-media, linux-mtd, linux-serial, linux-spi, linux-staging,
	linux-stm32, platform-driver-x86

Hello,

this is v2 of my quest to make spi remove callbacks return void. Today
they return an int, but the only result of returning a non-zero value is
a warning message. So it's a bad idea to return an error code in the
expectation that not freeing some resources is ok then. The same holds
true for i2c and platform devices which benefit en passant for a few
drivers.

The patches in this series address some of the spi drivers that might
return non-zero and adapt them accordingly to return zero instead. For
most drivers it's just about not hiding the fact that they already
return zero.

Given that there are quite some more patches of this type to create
before I can change the spi remove callback, I suggest the respective
subsystem maintainers pick up these patches. There are no
interdependencies in this series.

Compared to (implicit) v1

 - I fixed a few compiler issues (this series it build tested with an
   allmoddefconfig on arm64, m68k, powerpc, riscv, s390, sparc64 and
   x86_64).
 - A few new patches (2x gpio, 2x misc, 4x mtd)
 - One patch already landed in next, this one I dropped. The drm/panel
   patch as claimed to applied, too, but not yet in next. It's included
   here, but I assume I was just too impatient and this one should be
   ignored.

Full range-diff below.

Best regards
Uwe

Uwe Kleine-König (20):
  drm/panel: s6e63m0: Make s6e63m0_remove() return void
  gpio: max730x: Make __max730x_remove() return void
  gpio: mc33880: Drop if with an always false condition
  hwmon: max31722: Warn about failure to put device in stand-by in
    .remove()
  input: adxl34xx: Make adxl34x_remove() return void
  input: touchscreen: tsc200x: Make tsc200x_remove() return void
  media: cxd2880: Eliminate dead code
  mfd: mc13xxx: Make mc13xxx_common_exit() return void
  mfd: stmpe: Make stmpe_remove() return void
  mfd: tps65912: Make tps65912_device_exit() return void
  misc: ad525x_dpot: Make ad_dpot_remove() return void
  misc: lis3lv02d: Make lis3lv02d_remove_fs() return void
  mtd: dataflash: Warn about failure to unregister mtd device
  mtd: mchp23k256: Warn about failure to unregister mtd device
  mtd: mchp48l640: Warn about failure to unregister mtd device
  mtd: sst25l: Warn about failure to unregister mtd device
  serial: max310x: Make max310x_remove() return void
  serial: sc16is7xx: Make sc16is7xx_remove() return void
  staging: fbtft: Make fbtft_remove_common() return void
  tpm: st33zp24: Make st33zp24_remove() return void

 drivers/char/tpm/st33zp24/i2c.c                   |  5 +----
 drivers/char/tpm/st33zp24/spi.c                   |  5 +----
 drivers/char/tpm/st33zp24/st33zp24.c              |  3 +--
 drivers/char/tpm/st33zp24/st33zp24.h              |  2 +-
 drivers/gpio/gpio-max7300.c                       |  4 +++-
 drivers/gpio/gpio-max7301.c                       |  4 +++-
 drivers/gpio/gpio-max730x.c                       |  6 +-----
 drivers/gpio/gpio-mc33880.c                       |  2 --
 drivers/gpu/drm/panel/panel-samsung-s6e63m0-dsi.c |  3 ++-
 drivers/gpu/drm/panel/panel-samsung-s6e63m0-spi.c |  3 ++-
 drivers/gpu/drm/panel/panel-samsung-s6e63m0.c     |  4 +---
 drivers/gpu/drm/panel/panel-samsung-s6e63m0.h     |  2 +-
 drivers/hwmon/max31722.c                          |  8 +++++++-
 drivers/input/misc/adxl34x-i2c.c                  |  4 +++-
 drivers/input/misc/adxl34x-spi.c                  |  4 +++-
 drivers/input/misc/adxl34x.c                      |  4 +---
 drivers/input/misc/adxl34x.h                      |  2 +-
 drivers/input/touchscreen/tsc2004.c               |  4 +++-
 drivers/input/touchscreen/tsc2005.c               |  4 +++-
 drivers/input/touchscreen/tsc200x-core.c          |  4 +---
 drivers/input/touchscreen/tsc200x-core.h          |  2 +-
 drivers/media/spi/cxd2880-spi.c                   | 13 +------------
 drivers/mfd/mc13xxx-core.c                        |  4 +---
 drivers/mfd/mc13xxx-i2c.c                         |  3 ++-
 drivers/mfd/mc13xxx-spi.c                         |  3 ++-
 drivers/mfd/mc13xxx.h                             |  2 +-
 drivers/mfd/stmpe-i2c.c                           |  4 +++-
 drivers/mfd/stmpe-spi.c                           |  4 +++-
 drivers/mfd/stmpe.c                               |  4 +---
 drivers/mfd/stmpe.h                               |  2 +-
 drivers/mfd/tps65912-core.c                       |  4 +---
 drivers/mfd/tps65912-i2c.c                        |  4 +++-
 drivers/mfd/tps65912-spi.c                        |  4 +++-
 drivers/misc/ad525x_dpot-i2c.c                    |  3 ++-
 drivers/misc/ad525x_dpot-spi.c                    |  3 ++-
 drivers/misc/ad525x_dpot.c                        |  4 +---
 drivers/misc/ad525x_dpot.h                        |  2 +-
 drivers/misc/lis3lv02d/lis3lv02d.c                |  3 +--
 drivers/misc/lis3lv02d/lis3lv02d.h                |  2 +-
 drivers/misc/lis3lv02d/lis3lv02d_spi.c            |  4 +++-
 drivers/mtd/devices/mchp23k256.c                  |  9 ++++++++-
 drivers/mtd/devices/mchp48l640.c                  |  8 +++++++-
 drivers/mtd/devices/mtd_dataflash.c               |  5 ++++-
 drivers/mtd/devices/sst25l.c                      |  8 +++++++-
 drivers/platform/x86/hp_accel.c                   |  3 ++-
 drivers/staging/fbtft/fbtft-core.c                |  8 +-------
 drivers/staging/fbtft/fbtft.h                     |  8 +++++---
 drivers/tty/serial/max310x.c                      |  7 +++----
 drivers/tty/serial/sc16is7xx.c                    | 12 +++++++-----
 include/linux/mfd/tps65912.h                      |  2 +-
 include/linux/spi/max7301.h                       |  2 +-
 51 files changed, 119 insertions(+), 104 deletions(-)

Range-diff against v1:
 1:  73a1a54d9ea0 =  1:  87fd7940fbfd drm/panel: s6e63m0: Make s6e63m0_remove() return void
 2:  3bcc8e8bd1a3 <  -:  ------------ hwmon: adt7x10: Make adt7x10_remove() return void
 -:  ------------ >  2:  305311d63bbb gpio: max730x: Make __max730x_remove() return void
 -:  ------------ >  3:  0cafc31ea5c5 gpio: mc33880: Drop if with an always false condition
 3:  07f067732aa9 !  4:  f39467b50f06 hwmon: max31722: Warn about failure to put device in stand-by in .remove()
    @@ Commit message
         nothing happens apart from emitting a generic error message. Make this
         error message more device specific and return zero instead.
     
    -    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
         Acked-by: Michael Hennerich <michael.hennerich@analog.com>
    +    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
     
      ## drivers/hwmon/max31722.c ##
     @@ drivers/hwmon/max31722.c: static int max31722_probe(struct spi_device *spi)
 4:  0b0a5497d105 =  5:  de3a78214008 input: adxl34xx: Make adxl34x_remove() return void
 5:  0d4f14bc2dd6 !  6:  9629ac3f9e13 input: touchscreen: tsc200x: Make tsc200x_remove() return void
    @@ drivers/input/touchscreen/tsc2005.c: static int tsc2005_probe(struct spi_device
     -	return tsc200x_remove(&spi->dev);
     +	tsc200x_remove(&spi->dev);
     +
    -+	return 0
    ++	return 0;
      }
      
      #ifdef CONFIG_OF
 6:  a68bbd23223b =  7:  1aab41df9262 media: cxd2880: Eliminate dead code
 7:  3801b37ac18f !  8:  745d1a5f840e mfd: mc13xxx: Make mc13xxx_common_exit() return void
    @@ drivers/mfd/mc13xxx-spi.c: static int mc13xxx_spi_probe(struct spi_device *spi)
      {
     -	return mc13xxx_common_exit(&spi->dev);
     +	mc13xxx_common_exit(&spi->dev);
    -+	return 0
    ++	return 0;
      }
      
      static struct spi_driver mc13xxx_spi_driver = {
 8:  22159093ce71 =  9:  7ee04277db66 mfd: stmpe: Make stmpe_remove() return void
 9:  f91da216c752 = 10:  4a21c90a57f8 mfd: tps65912: Make tps65912_device_exit() return void
 -:  ------------ > 11:  f92aa824fd1c misc: ad525x_dpot: Make ad_dpot_remove() return void
 -:  ------------ > 12:  5b2fccd09a24 misc: lis3lv02d: Make lis3lv02d_remove_fs() return void
 -:  ------------ > 13:  609ab18323fc mtd: dataflash: Warn about failure to unregister mtd device
 -:  ------------ > 14:  3b220d5fa547 mtd: mchp23k256: Warn about failure to unregister mtd device
 -:  ------------ > 15:  baf6f4b3a8c7 mtd: mchp48l640: Warn about failure to unregister mtd device
 -:  ------------ > 16:  edf3788a30b0 mtd: sst25l: Warn about failure to unregister mtd device
10:  f2def77b74d1 ! 17:  614f7c001377 serial: max310x: Make max310x_remove() return void
    @@ drivers/tty/serial/max310x.c: static int max310x_spi_probe(struct spi_device *sp
      {
     -	return max310x_remove(&spi->dev);
     +	max310x_remove(&spi->dev);
    -+	return 0
    ++	return 0;
      }
      
      static const struct spi_device_id max310x_id_table[] = {
11:  283e4bbeff38 ! 18:  35d1f5b36de5 serial: sc16is7xx: Make sc16is7xx_remove() return void
    @@ drivers/tty/serial/sc16is7xx.c: static int sc16is7xx_probe(struct device *dev,
      {
      	struct sc16is7xx_port *s = dev_get_drvdata(dev);
      	int i;
    +@@ drivers/tty/serial/sc16is7xx.c: static int sc16is7xx_remove(struct device *dev)
    + 	kthread_stop(s->kworker_task);
    + 
    + 	clk_disable_unprepare(s->clk);
    +-
    +-	return 0;
    + }
    + 
    + static const struct of_device_id __maybe_unused sc16is7xx_dt_ids[] = {
     @@ drivers/tty/serial/sc16is7xx.c: static int sc16is7xx_spi_probe(struct spi_device *spi)
      
      static int sc16is7xx_spi_remove(struct spi_device *spi)
12:  5093fbdceee5 ! 19:  d9ec9a96fbb8 staging: fbtft: Make fbtft_remove_common() return void
    @@ drivers/staging/fbtft/fbtft-core.c: EXPORT_SYMBOL(fbtft_probe_common);
      
     
      ## drivers/staging/fbtft/fbtft.h ##
    +@@ drivers/staging/fbtft/fbtft.h: void fbtft_unregister_backlight(struct fbtft_par *par);
    + int fbtft_init_display(struct fbtft_par *par);
    + int fbtft_probe_common(struct fbtft_display *display, struct spi_device *sdev,
    + 		       struct platform_device *pdev);
    +-int fbtft_remove_common(struct device *dev, struct fb_info *info);
    ++void fbtft_remove_common(struct device *dev, struct fb_info *info);
    + 
    + /* fbtft-io.c */
    + int fbtft_write_spi(struct fbtft_par *par, void *buf, size_t len);
     @@ drivers/staging/fbtft/fbtft.h: static int fbtft_driver_remove_spi(struct spi_device *spi)                 \
      {                                                                          \
      	struct fb_info *info = spi_get_drvdata(spi);                       \
13:  9156e6380a5e = 20:  89d0b85968a9 tpm: st33zp24: Make st33zp24_remove() return void

base-commit: 9e1ff307c779ce1f0f810c7ecce3d95bbae40896
-- 
2.30.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 05/20] input: adxl34xx: Make adxl34x_remove() return void
  2021-10-12 15:39 [PATCH v2 00/20] Make some spi device drivers return zero in .remove() Uwe Kleine-König
@ 2021-10-12 15:39 ` Uwe Kleine-König
  2021-10-13  2:45   ` Dmitry Torokhov
  2021-10-13  7:49   ` Hennerich, Michael
  2021-10-12 15:39 ` [PATCH v2 06/20] input: touchscreen: tsc200x: Make tsc200x_remove() " Uwe Kleine-König
  1 sibling, 2 replies; 6+ messages in thread
From: Uwe Kleine-König @ 2021-10-12 15:39 UTC (permalink / raw)
  To: Dmitry Torokhov, Michael Hennerich
  Cc: Mark Brown, kernel, linux-input, linux-spi

Up to now adxl34x_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 i2c and spi remove callbacks is ignored anyway.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/input/misc/adxl34x-i2c.c | 4 +++-
 drivers/input/misc/adxl34x-spi.c | 4 +++-
 drivers/input/misc/adxl34x.c     | 4 +---
 drivers/input/misc/adxl34x.h     | 2 +-
 4 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/input/misc/adxl34x-i2c.c b/drivers/input/misc/adxl34x-i2c.c
index e64368a63346..a3b5f88d2bd1 100644
--- a/drivers/input/misc/adxl34x-i2c.c
+++ b/drivers/input/misc/adxl34x-i2c.c
@@ -103,7 +103,9 @@ static int adxl34x_i2c_remove(struct i2c_client *client)
 {
 	struct adxl34x *ac = i2c_get_clientdata(client);
 
-	return adxl34x_remove(ac);
+	adxl34x_remove(ac);
+
+	return 0;
 }
 
 static int __maybe_unused adxl34x_i2c_suspend(struct device *dev)
diff --git a/drivers/input/misc/adxl34x-spi.c b/drivers/input/misc/adxl34x-spi.c
index df6afa455e46..6e51c9bc619f 100644
--- a/drivers/input/misc/adxl34x-spi.c
+++ b/drivers/input/misc/adxl34x-spi.c
@@ -91,7 +91,9 @@ static int adxl34x_spi_remove(struct spi_device *spi)
 {
 	struct adxl34x *ac = spi_get_drvdata(spi);
 
-	return adxl34x_remove(ac);
+	adxl34x_remove(ac);
+
+	return 0;
 }
 
 static int __maybe_unused adxl34x_spi_suspend(struct device *dev)
diff --git a/drivers/input/misc/adxl34x.c b/drivers/input/misc/adxl34x.c
index 4cc4e8ff42b3..34beac80e6f0 100644
--- a/drivers/input/misc/adxl34x.c
+++ b/drivers/input/misc/adxl34x.c
@@ -896,15 +896,13 @@ struct adxl34x *adxl34x_probe(struct device *dev, int irq,
 }
 EXPORT_SYMBOL_GPL(adxl34x_probe);
 
-int adxl34x_remove(struct adxl34x *ac)
+void adxl34x_remove(struct adxl34x *ac)
 {
 	sysfs_remove_group(&ac->dev->kobj, &adxl34x_attr_group);
 	free_irq(ac->irq, ac);
 	input_unregister_device(ac->input);
 	dev_dbg(ac->dev, "unregistered accelerometer\n");
 	kfree(ac);
-
-	return 0;
 }
 EXPORT_SYMBOL_GPL(adxl34x_remove);
 
diff --git a/drivers/input/misc/adxl34x.h b/drivers/input/misc/adxl34x.h
index 83a0eeccf613..febf85270fff 100644
--- a/drivers/input/misc/adxl34x.h
+++ b/drivers/input/misc/adxl34x.h
@@ -25,6 +25,6 @@ void adxl34x_resume(struct adxl34x *ac);
 struct adxl34x *adxl34x_probe(struct device *dev, int irq,
 			      bool fifo_delay_default,
 			      const struct adxl34x_bus_ops *bops);
-int adxl34x_remove(struct adxl34x *ac);
+void adxl34x_remove(struct adxl34x *ac);
 
 #endif
-- 
2.30.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 06/20] input: touchscreen: tsc200x: Make tsc200x_remove() return void
  2021-10-12 15:39 [PATCH v2 00/20] Make some spi device drivers return zero in .remove() Uwe Kleine-König
  2021-10-12 15:39 ` [PATCH v2 05/20] input: adxl34xx: Make adxl34x_remove() return void Uwe Kleine-König
@ 2021-10-12 15:39 ` Uwe Kleine-König
  2021-10-13  2:45   ` Dmitry Torokhov
  1 sibling, 1 reply; 6+ messages in thread
From: Uwe Kleine-König @ 2021-10-12 15:39 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Mark Brown, kernel, linux-input, linux-spi

Up to now tsc200x_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 i2c and spi remove callbacks is ignored anyway.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/input/touchscreen/tsc2004.c      | 4 +++-
 drivers/input/touchscreen/tsc2005.c      | 4 +++-
 drivers/input/touchscreen/tsc200x-core.c | 4 +---
 drivers/input/touchscreen/tsc200x-core.h | 2 +-
 4 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/input/touchscreen/tsc2004.c b/drivers/input/touchscreen/tsc2004.c
index 0272cedcc726..9fdd870c4c0b 100644
--- a/drivers/input/touchscreen/tsc2004.c
+++ b/drivers/input/touchscreen/tsc2004.c
@@ -45,7 +45,9 @@ static int tsc2004_probe(struct i2c_client *i2c,
 
 static int tsc2004_remove(struct i2c_client *i2c)
 {
-	return tsc200x_remove(&i2c->dev);
+	tsc200x_remove(&i2c->dev);
+
+	return 0;
 }
 
 static const struct i2c_device_id tsc2004_idtable[] = {
diff --git a/drivers/input/touchscreen/tsc2005.c b/drivers/input/touchscreen/tsc2005.c
index 923496bbb368..a2f55920b9b2 100644
--- a/drivers/input/touchscreen/tsc2005.c
+++ b/drivers/input/touchscreen/tsc2005.c
@@ -66,7 +66,9 @@ static int tsc2005_probe(struct spi_device *spi)
 
 static int tsc2005_remove(struct spi_device *spi)
 {
-	return tsc200x_remove(&spi->dev);
+	tsc200x_remove(&spi->dev);
+
+	return 0;
 }
 
 #ifdef CONFIG_OF
diff --git a/drivers/input/touchscreen/tsc200x-core.c b/drivers/input/touchscreen/tsc200x-core.c
index b8d720d52013..27810f6c69f6 100644
--- a/drivers/input/touchscreen/tsc200x-core.c
+++ b/drivers/input/touchscreen/tsc200x-core.c
@@ -577,15 +577,13 @@ int tsc200x_probe(struct device *dev, int irq, const struct input_id *tsc_id,
 }
 EXPORT_SYMBOL_GPL(tsc200x_probe);
 
-int tsc200x_remove(struct device *dev)
+void tsc200x_remove(struct device *dev)
 {
 	struct tsc200x *ts = dev_get_drvdata(dev);
 
 	sysfs_remove_group(&dev->kobj, &tsc200x_attr_group);
 
 	regulator_disable(ts->vio);
-
-	return 0;
 }
 EXPORT_SYMBOL_GPL(tsc200x_remove);
 
diff --git a/drivers/input/touchscreen/tsc200x-core.h b/drivers/input/touchscreen/tsc200x-core.h
index a43c08ccfd3d..4ded34425b21 100644
--- a/drivers/input/touchscreen/tsc200x-core.h
+++ b/drivers/input/touchscreen/tsc200x-core.h
@@ -74,6 +74,6 @@ extern const struct dev_pm_ops tsc200x_pm_ops;
 int tsc200x_probe(struct device *dev, int irq, const struct input_id *tsc_id,
 		  struct regmap *regmap,
 		  int (*tsc200x_cmd)(struct device *dev, u8 cmd));
-int tsc200x_remove(struct device *dev);
+void tsc200x_remove(struct device *dev);
 
 #endif
-- 
2.30.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 05/20] input: adxl34xx: Make adxl34x_remove() return void
  2021-10-12 15:39 ` [PATCH v2 05/20] input: adxl34xx: Make adxl34x_remove() return void Uwe Kleine-König
@ 2021-10-13  2:45   ` Dmitry Torokhov
  2021-10-13  7:49   ` Hennerich, Michael
  1 sibling, 0 replies; 6+ messages in thread
From: Dmitry Torokhov @ 2021-10-13  2:45 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Michael Hennerich, Mark Brown, kernel, linux-input, linux-spi

On Tue, Oct 12, 2021 at 05:39:30PM +0200, Uwe Kleine-König wrote:
> Up to now adxl34x_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 i2c and spi remove callbacks is ignored anyway.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Applied, thank you.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 06/20] input: touchscreen: tsc200x: Make tsc200x_remove() return void
  2021-10-12 15:39 ` [PATCH v2 06/20] input: touchscreen: tsc200x: Make tsc200x_remove() " Uwe Kleine-König
@ 2021-10-13  2:45   ` Dmitry Torokhov
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Torokhov @ 2021-10-13  2:45 UTC (permalink / raw)
  To: Uwe Kleine-König; +Cc: Mark Brown, kernel, linux-input, linux-spi

On Tue, Oct 12, 2021 at 05:39:31PM +0200, Uwe Kleine-König wrote:
> Up to now tsc200x_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 i2c and spi remove callbacks is ignored anyway.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Applied, thank you.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH v2 05/20] input: adxl34xx: Make adxl34x_remove() return void
  2021-10-12 15:39 ` [PATCH v2 05/20] input: adxl34xx: Make adxl34x_remove() return void Uwe Kleine-König
  2021-10-13  2:45   ` Dmitry Torokhov
@ 2021-10-13  7:49   ` Hennerich, Michael
  1 sibling, 0 replies; 6+ messages in thread
From: Hennerich, Michael @ 2021-10-13  7:49 UTC (permalink / raw)
  To: Uwe Kleine-König, Dmitry Torokhov
  Cc: Mark Brown, kernel, linux-input, linux-spi



> -----Original Message-----
> From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> Sent: Dienstag, 12. Oktober 2021 17:40
> To: Dmitry Torokhov <dmitry.torokhov@gmail.com>; Hennerich, Michael
> <Michael.Hennerich@analog.com>
> Cc: Mark Brown <broonie@kernel.org>; kernel@pengutronix.de; linux-
> input@vger.kernel.org; linux-spi@vger.kernel.org
> Subject: [PATCH v2 05/20] input: adxl34xx: Make adxl34x_remove() return void
> 
> Up to now adxl34x_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 i2c and spi remove callbacks is ignored anyway.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Acked-by: Michael Hennerich <michael.hennerich@analog.com>

> ---
>  drivers/input/misc/adxl34x-i2c.c | 4 +++-  drivers/input/misc/adxl34x-spi.c | 4
> +++-
>  drivers/input/misc/adxl34x.c     | 4 +---
>  drivers/input/misc/adxl34x.h     | 2 +-
>  4 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/input/misc/adxl34x-i2c.c b/drivers/input/misc/adxl34x-i2c.c
> index e64368a63346..a3b5f88d2bd1 100644
> --- a/drivers/input/misc/adxl34x-i2c.c
> +++ b/drivers/input/misc/adxl34x-i2c.c
> @@ -103,7 +103,9 @@ static int adxl34x_i2c_remove(struct i2c_client *client)
> {
>  	struct adxl34x *ac = i2c_get_clientdata(client);
> 
> -	return adxl34x_remove(ac);
> +	adxl34x_remove(ac);
> +
> +	return 0;
>  }
> 
>  static int __maybe_unused adxl34x_i2c_suspend(struct device *dev) diff --git
> a/drivers/input/misc/adxl34x-spi.c b/drivers/input/misc/adxl34x-spi.c
> index df6afa455e46..6e51c9bc619f 100644
> --- a/drivers/input/misc/adxl34x-spi.c
> +++ b/drivers/input/misc/adxl34x-spi.c
> @@ -91,7 +91,9 @@ static int adxl34x_spi_remove(struct spi_device *spi)  {
>  	struct adxl34x *ac = spi_get_drvdata(spi);
> 
> -	return adxl34x_remove(ac);
> +	adxl34x_remove(ac);
> +
> +	return 0;
>  }
> 
>  static int __maybe_unused adxl34x_spi_suspend(struct device *dev) diff --git
> a/drivers/input/misc/adxl34x.c b/drivers/input/misc/adxl34x.c index
> 4cc4e8ff42b3..34beac80e6f0 100644
> --- a/drivers/input/misc/adxl34x.c
> +++ b/drivers/input/misc/adxl34x.c
> @@ -896,15 +896,13 @@ struct adxl34x *adxl34x_probe(struct device *dev,
> int irq,  }  EXPORT_SYMBOL_GPL(adxl34x_probe);
> 
> -int adxl34x_remove(struct adxl34x *ac)
> +void adxl34x_remove(struct adxl34x *ac)
>  {
>  	sysfs_remove_group(&ac->dev->kobj, &adxl34x_attr_group);
>  	free_irq(ac->irq, ac);
>  	input_unregister_device(ac->input);
>  	dev_dbg(ac->dev, "unregistered accelerometer\n");
>  	kfree(ac);
> -
> -	return 0;
>  }
>  EXPORT_SYMBOL_GPL(adxl34x_remove);
> 
> diff --git a/drivers/input/misc/adxl34x.h b/drivers/input/misc/adxl34x.h index
> 83a0eeccf613..febf85270fff 100644
> --- a/drivers/input/misc/adxl34x.h
> +++ b/drivers/input/misc/adxl34x.h
> @@ -25,6 +25,6 @@ void adxl34x_resume(struct adxl34x *ac);  struct adxl34x
> *adxl34x_probe(struct device *dev, int irq,
>  			      bool fifo_delay_default,
>  			      const struct adxl34x_bus_ops *bops); -int
> adxl34x_remove(struct adxl34x *ac);
> +void adxl34x_remove(struct adxl34x *ac);
> 
>  #endif
> --
> 2.30.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-10-13  7:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-12 15:39 [PATCH v2 00/20] Make some spi device drivers return zero in .remove() Uwe Kleine-König
2021-10-12 15:39 ` [PATCH v2 05/20] input: adxl34xx: Make adxl34x_remove() return void Uwe Kleine-König
2021-10-13  2:45   ` Dmitry Torokhov
2021-10-13  7:49   ` Hennerich, Michael
2021-10-12 15:39 ` [PATCH v2 06/20] input: touchscreen: tsc200x: Make tsc200x_remove() " Uwe Kleine-König
2021-10-13  2:45   ` Dmitry Torokhov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).