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)
        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 },
        },
        .id_table = tsl2772_idtable,
        .probe = tsl2772_probe,
-       .remove = tsl2772_remove,
 };
 
 module_i2c_driver(tsl2772_driver);