Re: [PATCH v1 1/1] iio: proximity: mb1232: Switch to use fwnode_irq_get()

From: Jonathan Cameron
Date: Sat Apr 16 2022 - 06:59:35 EST


On Wed, 13 Apr 2022 21:31:23 +0300
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:

> We have OF-centric variant of fwnode_irq_get() in the driver.
> Replace it with a call to an agnostic implementation.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

Whilst I 'think' this ends up being functionally identical
I'd like to leave it a little longer to see if Andreas has
time to take a look and verify this change is fine.

There seem to be subtle differences in the irq setup as the
new code does a sanity check on the domain being available
and defers if not which I don't think happens with the
existing code.

Thanks,

Jonathan


> ---
> drivers/iio/proximity/mb1232.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/iio/proximity/mb1232.c b/drivers/iio/proximity/mb1232.c
> index ad4b1fb2607a..0bca5f74de68 100644
> --- a/drivers/iio/proximity/mb1232.c
> +++ b/drivers/iio/proximity/mb1232.c
> @@ -10,12 +10,14 @@
> * https://www.maxbotix.com/documents/I2CXL-MaxSonar-EZ_Datasheet.pdf
> */
>
> +#include <linux/bitops.h>
> #include <linux/err.h>
> #include <linux/i2c.h>
> -#include <linux/of_irq.h>
> #include <linux/delay.h>
> +#include <linux/mod_devicetable.h>
> #include <linux/module.h>
> -#include <linux/bitops.h>
> +#include <linux/property.h>
> +
> #include <linux/iio/iio.h>
> #include <linux/iio/sysfs.h>
> #include <linux/iio/buffer.h>
> @@ -209,7 +211,7 @@ static int mb1232_probe(struct i2c_client *client,
>
> init_completion(&data->ranging);
>
> - data->irqnr = irq_of_parse_and_map(dev->of_node, 0);
> + data->irqnr = fwnode_irq_get(dev_fwnode(&client->dev), 0);
> if (data->irqnr <= 0) {
> /* usage of interrupt is optional */
> data->irqnr = -1;