• Lars-Peter Clausen's avatar
    iio: imx7d_adc: Don't pass IIO device to imx7d_adc_{enable,disable}() · ba1287e7
    Lars-Peter Clausen authored
    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: default avatarLars-Peter Clausen <lars@metafoo.de>
    Link: https://lore.kernel.org/r/20211020085754.16654-1-lars@metafoo.deSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    ba1287e7
imx7d_adc.c 14.6 KB