]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
staging: iio: ade7854: use devm_iio_device_register
authorAlison Schofield <amsfield22@gmail.com>
Sun, 28 Feb 2016 08:22:50 +0000 (00:22 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 12 Mar 2016 06:09:09 +0000 (22:09 -0800)
Replace iio_device_register with the device managed version.
This change is safe because it does not change the order of
any device removal actions. Unregistering the device was the
only removal action. The newly emptied .remove functions are
deleted.

Signed-off-by: Alison Schofield <amsfield22@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/iio/meter/ade7854-i2c.c
drivers/staging/iio/meter/ade7854-spi.c
drivers/staging/iio/meter/ade7854.c

index 07cfe28b24e2a2c1ebcc03e3b98d494167498d8e..8106f8cceeabe8da3294fd15829e8d28f0a2904b 100644 (file)
@@ -227,11 +227,6 @@ static int ade7854_i2c_probe(struct i2c_client *client,
        return ade7854_probe(indio_dev, &client->dev);
 }
 
-static int ade7854_i2c_remove(struct i2c_client *client)
-{
-       return ade7854_remove(i2c_get_clientdata(client));
-}
-
 static const struct i2c_device_id ade7854_id[] = {
        { "ade7854", 0 },
        { "ade7858", 0 },
@@ -246,7 +241,6 @@ static struct i2c_driver ade7854_i2c_driver = {
                .name = "ade7854",
        },
        .probe    = ade7854_i2c_probe,
-       .remove   = ade7854_i2c_remove,
        .id_table = ade7854_id,
 };
 module_i2c_driver(ade7854_i2c_driver);
index 2413052c5bfb5d23cd880d56e90127d367756528..63e200ffd1f2e928e15400743b845f628f2b99f8 100644 (file)
@@ -296,12 +296,6 @@ static int ade7854_spi_probe(struct spi_device *spi)
        return ade7854_probe(indio_dev, &spi->dev);
 }
 
-static int ade7854_spi_remove(struct spi_device *spi)
-{
-       ade7854_remove(spi_get_drvdata(spi));
-
-       return 0;
-}
 static const struct spi_device_id ade7854_id[] = {
        { "ade7854", 0 },
        { "ade7858", 0 },
@@ -316,7 +310,6 @@ static struct spi_driver ade7854_driver = {
                .name = "ade7854",
        },
        .probe = ade7854_spi_probe,
-       .remove = ade7854_spi_remove,
        .id_table = ade7854_id,
 };
 module_spi_driver(ade7854_driver);
index a83883596dbcb41e73e8e494527b4a4f5c433e89..b0b1be71991a0f49aa851166a8a96f08f4d2c0d1 100644 (file)
@@ -548,31 +548,15 @@ int ade7854_probe(struct iio_dev *indio_dev, struct device *dev)
        indio_dev->info = &ade7854_info;
        indio_dev->modes = INDIO_DIRECT_MODE;
 
-       ret = iio_device_register(indio_dev);
+       ret = devm_iio_device_register(dev, indio_dev);
        if (ret)
                return ret;
 
        /* Get the device into a sane initial state */
-       ret = ade7854_initial_setup(indio_dev);
-       if (ret)
-               goto error_unreg_dev;
-
-       return 0;
-
-error_unreg_dev:
-       iio_device_unregister(indio_dev);
-       return ret;
+       return ade7854_initial_setup(indio_dev);
 }
 EXPORT_SYMBOL(ade7854_probe);
 
-int ade7854_remove(struct iio_dev *indio_dev)
-{
-       iio_device_unregister(indio_dev);
-
-       return 0;
-}
-EXPORT_SYMBOL(ade7854_remove);
-
 MODULE_AUTHOR("Barry Song <21cnbao@gmail.com>");
 MODULE_DESCRIPTION("Analog Devices ADE7854/58/68/78 Polyphase Energy Meter");
 MODULE_LICENSE("GPL v2");