Use devm_iio_device_register, which removes the tsl2772_remove
function.

Signed-off-by: Chuhong Yuan <hsleste...@gmail.com>
---
Changes in v4:
  - Split v3 into three patches.
  - Revise description to make it more precise.

 drivers/iio/light/tsl2772.c | 19 +------------------
 1 file changed, 1 insertion(+), 18 deletions(-)

diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
index e866ae40f157..680afdb078d2 100644
--- a/drivers/iio/light/tsl2772.c
+++ b/drivers/iio/light/tsl2772.c
@@ -1890,14 +1890,7 @@ static int tsl2772_probe(struct i2c_client *clientp,
        if (ret < 0)
                return ret;
 
-       ret = iio_device_register(indio_dev);
-       if (ret) {
-               dev_err(&clientp->dev,
-                       "%s: iio registration failed\n", __func__);
-               return ret;
-       }
-
-       return 0;
+       return devm_iio_device_register(&clientp->dev, indio_dev);
 }
 
 static int tsl2772_suspend(struct device *dev)
@@ -1934,15 +1927,6 @@ static int tsl2772_resume(struct device *dev)
        return tsl2772_chip_on(indio_dev);
 }
 
-static int tsl2772_remove(struct i2c_client *client)
-{
-       struct iio_dev *indio_dev = i2c_get_clientdata(client);
-
-       iio_device_unregister(indio_dev);
-
-       return 0;
-}
-
 static const struct i2c_device_id tsl2772_idtable[] = {
        { "tsl2571", tsl2571 },
        { "tsl2671", tsl2671 },
@@ -1989,7 +1973,6 @@ static struct i2c_driver tsl2772_driver = {
        },
        .id_table = tsl2772_idtable,
        .probe = tsl2772_probe,
-       .remove = tsl2772_remove,
 };
 
 module_i2c_driver(tsl2772_driver);
-- 
2.20.1

Reply via email to