summaryrefslogtreecommitdiffstats
path: root/drivers/iio/adc/imx7d_adc.c
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2021-10-20 10:57:54 +0200
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2021-11-17 18:51:33 +0100
commitba1287e73182f2521d4fc5c0809620ed06652796 (patch)
tree631cc4db446ce7f8ff88d6e1e7b78ec840b0b34d /drivers/iio/adc/imx7d_adc.c
parentiio: st-sensors: Use dev_to_iio_dev() in sysfs callbacks (diff)
downloadlinux-ba1287e73182f2521d4fc5c0809620ed06652796.tar.xz
linux-ba1287e73182f2521d4fc5c0809620ed06652796.zip
iio: imx7d_adc: Don't pass IIO device to imx7d_adc_{enable,disable}()
The `imx7d_adc_enable()` and `imx7d_adc_disable()` functions are used as the suspend and resume callbacks for the device. When called as suspend/resume functions they are called with the platform_device's device as their parameter. In addition the functions are called on device probe and remove. In this case they are passed the struct device of the IIO device that the driver registers. This works because in the `imx7d_adc_{enable,disable}()` functions the passed struct device is only ever used as a parameter to `dev_get_drvdata()` and `dev_get_drvdata()` returns the same value for the platform device and the IIO device. But for consistency we should pass the same struct device to the `imx7d_adc_{enable,disable}()` in all cases. This will avoid accidental breakage if the device is ever used for something more than `dev_get_drvdata()`. Another motivation is that `dev_get_drvdata()` on the IIO device relies on the IIO core calling `dev_set_drvdata()`. Something we want to remove. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Link: https://lore.kernel.org/r/20211020085754.16654-1-lars@metafoo.de Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/adc/imx7d_adc.c')
-rw-r--r--drivers/iio/adc/imx7d_adc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/iio/adc/imx7d_adc.c b/drivers/iio/adc/imx7d_adc.c
index 092f8d296527..12f5b8e34c84 100644
--- a/drivers/iio/adc/imx7d_adc.c
+++ b/drivers/iio/adc/imx7d_adc.c
@@ -522,12 +522,11 @@ static int imx7d_adc_probe(struct platform_device *pdev)
imx7d_adc_feature_config(info);
- ret = imx7d_adc_enable(&indio_dev->dev);
+ ret = imx7d_adc_enable(dev);
if (ret)
return ret;
- ret = devm_add_action_or_reset(dev, __imx7d_adc_disable,
- &indio_dev->dev);
+ ret = devm_add_action_or_reset(dev, __imx7d_adc_disable, dev);
if (ret)
return ret;