gpio: max730x: Make __max730x_remove() return void
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 12 Oct 2021 15:39:27 +0000 (17:39 +0200)
committerBartosz Golaszewski <brgl@bgdev.pl>
Wed, 13 Oct 2021 17:52:26 +0000 (19:52 +0200)
An spi or i2c remove callback is only called for devices that probed
successfully. In this case this implies that __max730x_probe() set a
non-NULL driver data. So the check ts == NULL is never true. With this
check dropped, __max730x_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>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
drivers/gpio/gpio-max7300.c
drivers/gpio/gpio-max7301.c
drivers/gpio/gpio-max730x.c
include/linux/spi/max7301.h

index 19cc2ed6a3f59e28f872febba87a321c925998dd..b2b547dd6e84648487997eef93d8d4feb4df06b5 100644 (file)
@@ -50,7 +50,9 @@ static int max7300_probe(struct i2c_client *client,
 
 static int max7300_remove(struct i2c_client *client)
 {
-       return __max730x_remove(&client->dev);
+       __max730x_remove(&client->dev);
+
+       return 0;
 }
 
 static const struct i2c_device_id max7300_id[] = {
index 1307c243b4e9292f0304800bead53a18a686500c..5862d73bf32541c0f551232fdfff06c3eaf63d02 100644 (file)
@@ -66,7 +66,9 @@ static int max7301_probe(struct spi_device *spi)
 
 static int max7301_remove(struct spi_device *spi)
 {
-       return __max730x_remove(&spi->dev);
+       __max730x_remove(&spi->dev);
+
+       return 0;
 }
 
 static const struct spi_device_id max7301_id[] = {
index b8c1fe20f49ad0646c2e2684056c967061615785..bb5cf14ae4c87664cce35761e057f46747018795 100644 (file)
@@ -220,18 +220,14 @@ exit_destroy:
 }
 EXPORT_SYMBOL_GPL(__max730x_probe);
 
-int __max730x_remove(struct device *dev)
+void __max730x_remove(struct device *dev)
 {
        struct max7301 *ts = dev_get_drvdata(dev);
 
-       if (ts == NULL)
-               return -ENODEV;
-
        /* Power down the chip and disable IRQ output */
        ts->write(dev, 0x04, 0x00);
        gpiochip_remove(&ts->chip);
        mutex_destroy(&ts->lock);
-       return 0;
 }
 EXPORT_SYMBOL_GPL(__max730x_remove);
 
index 21449067aedb5e049b2f31367f2bda53cae141e0..e392c53758bc56d804b555ffeccb165b62456fed 100644 (file)
@@ -31,6 +31,6 @@ struct max7301_platform_data {
        u32             input_pullup_active;
 };
 
-extern int __max730x_remove(struct device *dev);
+extern void __max730x_remove(struct device *dev);
 extern int __max730x_probe(struct max7301 *ts);
 #endif