• Lars-Peter Clausen's avatar
    iio: Remove superfluous of_node assignments · 8cb631cc
    Lars-Peter Clausen authored
    If a driver does not assign an of_node to a IIO device to IIO core will
    automatically assign the of_node of the parent device. This automatic
    assignment is done in the iio_device_register() function.
    
    There is a fair amount of drivers that currently manually assign the
    of_node of the IIO device. All but 4 of them can make use of the automatic
    assignment though.
    
    The exceptions are:
     * mxs-lradc-adc: Which uses the of_node of the parent of the parent.
     * stm32-dfsdm-adc, stm32-adc and stm32-dac: Which reference the of_node
       assigned to the IIO device before iio_device_register() is called.
    
    All other drivers are updated to use automatic assignment. This reduces
    the amount of boilerplate code involved in setting up the IIO device.
    
    The patch has mostly been auto-generated with the following semantic patch
    
    // <smpl>
    @exists@
    expression indio_dev;
    expression parent;
    @@
    indio_dev = \(devm_iio_device_alloc\|iio_device_alloc\)(&parent, ...)
    ...
    -indio_dev->dev.of_node = parent.of_node;
    
    @exists@
    expression indio_dev;
    expression parent;
    @@
    indio_dev = \(devm_iio_device_alloc\|iio_device_alloc\)(parent, ...)
    ...
    -indio_dev->dev.of_node = parent->of_node;
    // </smpl>
    Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
    Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    8cb631cc
ad7266.c 12.9 KB