Message ID | 20220413183123.20292-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v1,1/1] iio: proximity: mb1232: Switch to use fwnode_irq_get() | expand |
On Wed, 13 Apr 2022 21:31:23 +0300 Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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@linux.intel.com> 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;
Jonathan Cameron <jic23@kernel.org> schrieb am Sa, 16. Apr 12:07: > On Wed, 13 Apr 2022 21:31:23 +0300 > Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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@linux.intel.com> > > 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. Anyway interrupts are optional and the driver will work without i don't see any issue here. Acked-by: Andreas Klinger <ak@it-klinger.de> > > 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; >
On Tue, 19 Apr 2022 12:24:26 +0200 Andreas Klinger <ak@it-klinger.de> wrote: > Jonathan Cameron <jic23@kernel.org> schrieb am Sa, 16. Apr 12:07: > > On Wed, 13 Apr 2022 21:31:23 +0300 > > Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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@linux.intel.com> > > > > 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. > > Anyway interrupts are optional and the driver will work without i don't see any > issue here. > > Acked-by: Andreas Klinger <ak@it-klinger.de> Applied to the togreg branch of iio.git and pushed out as testing to see if 0-day can find anything we missed. Thanks, Jonathan > > > > > 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; > > >
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;
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@linux.intel.com> --- drivers/iio/proximity/mb1232.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)