Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

staging: iio: ade7854: use devm_iio_device_register

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>

authored by

Alison Schofield and committed by
Greg Kroah-Hartman
a04b4e50 8f27f732

+2 -31
-6
drivers/staging/iio/meter/ade7854-i2c.c
··· 227 227 return ade7854_probe(indio_dev, &client->dev); 228 228 } 229 229 230 - static int ade7854_i2c_remove(struct i2c_client *client) 231 - { 232 - return ade7854_remove(i2c_get_clientdata(client)); 233 - } 234 - 235 230 static const struct i2c_device_id ade7854_id[] = { 236 231 { "ade7854", 0 }, 237 232 { "ade7858", 0 }, ··· 241 246 .name = "ade7854", 242 247 }, 243 248 .probe = ade7854_i2c_probe, 244 - .remove = ade7854_i2c_remove, 245 249 .id_table = ade7854_id, 246 250 }; 247 251 module_i2c_driver(ade7854_i2c_driver);
-7
drivers/staging/iio/meter/ade7854-spi.c
··· 296 296 return ade7854_probe(indio_dev, &spi->dev); 297 297 } 298 298 299 - static int ade7854_spi_remove(struct spi_device *spi) 300 - { 301 - ade7854_remove(spi_get_drvdata(spi)); 302 - 303 - return 0; 304 - } 305 299 static const struct spi_device_id ade7854_id[] = { 306 300 { "ade7854", 0 }, 307 301 { "ade7858", 0 }, ··· 310 316 .name = "ade7854", 311 317 }, 312 318 .probe = ade7854_spi_probe, 313 - .remove = ade7854_spi_remove, 314 319 .id_table = ade7854_id, 315 320 }; 316 321 module_spi_driver(ade7854_driver);
+2 -18
drivers/staging/iio/meter/ade7854.c
··· 548 548 indio_dev->info = &ade7854_info; 549 549 indio_dev->modes = INDIO_DIRECT_MODE; 550 550 551 - ret = iio_device_register(indio_dev); 551 + ret = devm_iio_device_register(dev, indio_dev); 552 552 if (ret) 553 553 return ret; 554 554 555 555 /* Get the device into a sane initial state */ 556 - ret = ade7854_initial_setup(indio_dev); 557 - if (ret) 558 - goto error_unreg_dev; 559 - 560 - return 0; 561 - 562 - error_unreg_dev: 563 - iio_device_unregister(indio_dev); 564 - return ret; 556 + return ade7854_initial_setup(indio_dev); 565 557 } 566 558 EXPORT_SYMBOL(ade7854_probe); 567 - 568 - int ade7854_remove(struct iio_dev *indio_dev) 569 - { 570 - iio_device_unregister(indio_dev); 571 - 572 - return 0; 573 - } 574 - EXPORT_SYMBOL(ade7854_remove); 575 559 576 560 MODULE_AUTHOR("Barry Song <21cnbao@gmail.com>"); 577 561 MODULE_DESCRIPTION("Analog Devices ADE7854/58/68/78 Polyphase Energy Meter");