staging: iio: isl29018: Use devm_iio_device_register
authorSachin Kamat <sachin.kamat@linaro.org>
Tue, 29 Oct 2013 11:39:00 +0000 (11:39 +0000)
committerJonathan Cameron <jic23@kernel.org>
Sun, 24 Nov 2013 21:07:22 +0000 (21:07 +0000)
devm_iio_device_register simplifies the code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/staging/iio/light/isl29018.c

index 488e690..3660a43 100644 (file)
@@ -585,7 +585,7 @@ static int isl29018_probe(struct i2c_client *client,
        indio_dev->name = id->name;
        indio_dev->dev.parent = &client->dev;
        indio_dev->modes = INDIO_DIRECT_MODE;
-       err = iio_device_register(indio_dev);
+       err = devm_iio_device_register(&client->dev, indio_dev);
        if (err) {
                dev_err(&client->dev, "iio registration fails\n");
                return err;
@@ -594,16 +594,6 @@ static int isl29018_probe(struct i2c_client *client,
        return 0;
 }
 
-static int isl29018_remove(struct i2c_client *client)
-{
-       struct iio_dev *indio_dev = i2c_get_clientdata(client);
-
-       dev_dbg(&client->dev, "%s()\n", __func__);
-       iio_device_unregister(indio_dev);
-
-       return 0;
-}
-
 #ifdef CONFIG_PM_SLEEP
 static int isl29018_suspend(struct device *dev)
 {
@@ -664,7 +654,6 @@ static struct i2c_driver isl29018_driver = {
                        .of_match_table = isl29018_of_match,
                    },
        .probe   = isl29018_probe,
-       .remove  = isl29018_remove,
        .id_table = isl29018_id,
 };
 module_i2c_driver(isl29018_driver);