Commit 06de2cd7 authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by Bartosz Golaszewski
Browse files

gpio: max730x: Make __max730x_remove() return void



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: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
parent aa4858eb
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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[] = {
+3 −1
Original line number Diff line number Diff line
@@ -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[] = {
+1 −5
Original line number Diff line number Diff line
@@ -220,18 +220,14 @@ int __max730x_probe(struct max7301 *ts)
}
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);

+1 −1
Original line number Diff line number Diff line
@@ -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