[PATCH v1 1/1] iio: adc: mxs-lradc-adc: Get rid of OF specifics

Jonathan Cameron jic23 at kernel.org
Fri Jun 3 10:10:06 PDT 2022


On Mon, 30 May 2022 20:33:24 +0300
Andy Shevchenko <andriy.shevchenko at linux.intel.com> wrote:

> First of all, the additional conversion from vIRQ, and this is exactly
> what is returned by platform_get_irq_byname(), to vIRQ is not needed.
Confusing sentence form.  Perhaps:

First, the additional conversion from vIRQ (returned by platform_get_irq_byname())
to vIRQ is not needed.

> Hence, drop no-op call to irq_of_parse_and_map().
> 
> Second, assign the firmware node instead of of_node.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Hi,

Seems sensible to me, but I'd like a sanity check from someone more
familiar with this driver.

Thanks,

Jonathan

> ---
>  drivers/iio/adc/mxs-lradc-adc.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/iio/adc/mxs-lradc-adc.c b/drivers/iio/adc/mxs-lradc-adc.c
> index bca79a93cbe4..25292bb8a13f 100644
> --- a/drivers/iio/adc/mxs-lradc-adc.c
> +++ b/drivers/iio/adc/mxs-lradc-adc.c
> @@ -17,7 +17,6 @@
>  #include <linux/mfd/core.h>
>  #include <linux/mfd/mxs-lradc.h>
>  #include <linux/module.h>
> -#include <linux/of_irq.h>
>  #include <linux/platform_device.h>
>  #include <linux/sysfs.h>
>  
> @@ -692,7 +691,7 @@ static int mxs_lradc_adc_probe(struct platform_device *pdev)
>  	struct mxs_lradc_adc *adc;
>  	struct iio_dev *iio;
>  	struct resource *iores;
> -	int ret, irq, virq, i, s, n;
> +	int ret, irq, i, s, n;
>  	u64 scale_uv;
>  	const char **irq_name;
>  
> @@ -721,7 +720,7 @@ static int mxs_lradc_adc_probe(struct platform_device *pdev)
>  	platform_set_drvdata(pdev, iio);
>  
>  	iio->name = pdev->name;
> -	iio->dev.of_node = dev->parent->of_node;
> +	device_set_node(&iio->dev, dev_fwnode(dev->parent));
>  	iio->info = &mxs_lradc_adc_iio_info;
>  	iio->modes = INDIO_DIRECT_MODE;
>  	iio->masklength = LRADC_MAX_TOTAL_CHANS;
> @@ -747,9 +746,7 @@ static int mxs_lradc_adc_probe(struct platform_device *pdev)
>  		if (irq < 0)
>  			return irq;
>  
> -		virq = irq_of_parse_and_map(dev->parent->of_node, irq);
> -
> -		ret = devm_request_irq(dev, virq, mxs_lradc_adc_handle_irq,
> +		ret = devm_request_irq(dev, irq, mxs_lradc_adc_handle_irq,
>  				       0, irq_name[i], iio);
>  		if (ret)
>  			return ret;




More information about the linux-arm-kernel mailing list