iio: accel: mma7660: Warn about failure to put device in stand-by in .remove()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 25 Oct 2021 19:50:07 +0000 (21:50 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 17 Nov 2021 17:51:31 +0000 (17:51 +0000)
Whan an i2c driver's remove function returns a non-zero error code
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>
Link: https://lore.kernel.org/r/20211025195007.84541-1-u.kleine-koenig@pengutronix.de
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/accel/mma7660.c

index cd6cdf2..24b83cc 100644 (file)
@@ -210,10 +210,16 @@ static int mma7660_probe(struct i2c_client *client,
 static int mma7660_remove(struct i2c_client *client)
 {
        struct iio_dev *indio_dev = i2c_get_clientdata(client);
+       int ret;
 
        iio_device_unregister(indio_dev);
 
-       return mma7660_set_mode(iio_priv(indio_dev), MMA7660_MODE_STANDBY);
+       ret = mma7660_set_mode(iio_priv(indio_dev), MMA7660_MODE_STANDBY);
+       if (ret)
+               dev_warn(&client->dev, "Failed to put device in stand-by mode (%pe), ignoring\n",
+                        ERR_PTR(ret));
+
+       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP