[PATCH v3 6/6] iio: adc: bcm_iproc_adc: use devm_iio_device_register()
From: mdshahid03
Date: Sat Sep 05 2026 - 05:40:06 EST
From: Mohammad Shahid <mdshahid03@xxxxxxxxx>
Use devm_iio_device_register() to automatically unregister the IIO
device when the device is detached.
This removes the manual iio_device_unregister() call and makes the
iproc_adc_remove() callback unnecessary.
Signed-off-by: Mohammad Shahid <mdshahid03@xxxxxxxxx>
---
drivers/iio/adc/bcm_iproc_adc.c | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/drivers/iio/adc/bcm_iproc_adc.c b/drivers/iio/adc/bcm_iproc_adc.c
index f4676607682b..6eae7596ac8d 100644
--- a/drivers/iio/adc/bcm_iproc_adc.c
+++ b/drivers/iio/adc/bcm_iproc_adc.c
@@ -524,7 +524,6 @@ static int iproc_adc_probe(struct platform_device *pdev)
return -ENOMEM;
adc_priv = iio_priv(indio_dev);
- platform_set_drvdata(pdev, indio_dev);
ret = devm_mutex_init(dev, &adc_priv->mutex);
if (ret)
@@ -572,19 +571,8 @@ static int iproc_adc_probe(struct platform_device *pdev)
indio_dev->channels = iproc_adc_iio_channels;
indio_dev->num_channels = ARRAY_SIZE(iproc_adc_iio_channels);
- ret = iio_device_register(indio_dev);
- if (ret)
- return dev_err_probe(dev, ret, "iio_device_register failed\n");
-
- return 0;
-
-}
-
-static void iproc_adc_remove(struct platform_device *pdev)
-{
- struct iio_dev *indio_dev = platform_get_drvdata(pdev);
+ return devm_iio_device_register(dev, indio_dev);
- iio_device_unregister(indio_dev);
}
static const struct of_device_id iproc_adc_of_match[] = {
@@ -595,7 +583,6 @@ MODULE_DEVICE_TABLE(of, iproc_adc_of_match);
static struct platform_driver iproc_adc_driver = {
.probe = iproc_adc_probe,
- .remove = iproc_adc_remove,
.driver = {
.name = "iproc-static-adc",
.of_match_table = iproc_adc_of_match,
--
2.43.0