Convert the module to be property provider agnostic and allow
it to be used on non-OF platforms.
Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/iio/gyro/fxas21002c_core.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/iio/gyro/fxas21002c_core.c b/drivers/iio/gyro/fxas21002c_core.c
index 410e5e9f2672..0923fd793492 100644
--- a/drivers/iio/gyro/fxas21002c_core.c
+++ b/drivers/iio/gyro/fxas21002c_core.c
@@ -7,9 +7,9 @@
#include <linux/interrupt.h>
#include <linux/module.h>
-#include <linux/of_irq.h>
#include <linux/pm.h>
#include <linux/pm_runtime.h>
+#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
@@ -822,7 +822,6 @@ static int fxas21002c_trigger_probe(struct fxas21002c_data *data)
{
struct device *dev = regmap_get_device(data->regmap);
struct iio_dev *indio_dev = dev_get_drvdata(dev);
- struct device_node *np = indio_dev->dev.of_node;
unsigned long irq_trig;
bool irq_open_drain;
int irq1;
@@ -831,8 +830,7 @@ static int fxas21002c_trigger_probe(struct fxas21002c_data *data)
if (!data->irq)
return 0;
- irq1 = of_irq_get_byname(np, "INT1");
-
+ irq1 = fwnode_irq_get_byname(dev_fwnode(dev), "INT1");
if (irq1 == data->irq) {
dev_info(dev, "using interrupt line INT1\n");
ret = regmap_field_write(data->regmap_fields[F_INT_CFG_DRDY],
@@ -843,7 +841,7 @@ static int fxas21002c_trigger_probe(struct fxas21002c_data *data)
dev_info(dev, "using interrupt line INT2\n");
- irq_open_drain = of_property_read_bool(np, "drive-open-drain");
+ irq_open_drain = device_property_read_bool(dev, "drive-open-drain");
data->dready_trig = devm_iio_trigger_alloc(dev, "%s-dev%d",
indio_dev->name,
--
2.35.1
Hi Andy,
Thanks for the patch.
On Wed, Apr 13, 2022 at 04:15:13PM +0300, Andy Shevchenko wrote:
> Convert the module to be property provider agnostic and allow
> it to be used on non-OF platforms.
>
> Signed-off-by: Andy Shevchenko <[email protected]>
This LGTM.
Acked-by: Rui Miguel Silva <[email protected]>
Cheers,
Rui
> ---
> drivers/iio/gyro/fxas21002c_core.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/iio/gyro/fxas21002c_core.c b/drivers/iio/gyro/fxas21002c_core.c
> index 410e5e9f2672..0923fd793492 100644
> --- a/drivers/iio/gyro/fxas21002c_core.c
> +++ b/drivers/iio/gyro/fxas21002c_core.c
> @@ -7,9 +7,9 @@
>
> #include <linux/interrupt.h>
> #include <linux/module.h>
> -#include <linux/of_irq.h>
> #include <linux/pm.h>
> #include <linux/pm_runtime.h>
> +#include <linux/property.h>
> #include <linux/regmap.h>
> #include <linux/regulator/consumer.h>
>
> @@ -822,7 +822,6 @@ static int fxas21002c_trigger_probe(struct fxas21002c_data *data)
> {
> struct device *dev = regmap_get_device(data->regmap);
> struct iio_dev *indio_dev = dev_get_drvdata(dev);
> - struct device_node *np = indio_dev->dev.of_node;
> unsigned long irq_trig;
> bool irq_open_drain;
> int irq1;
> @@ -831,8 +830,7 @@ static int fxas21002c_trigger_probe(struct fxas21002c_data *data)
> if (!data->irq)
> return 0;
>
> - irq1 = of_irq_get_byname(np, "INT1");
> -
> + irq1 = fwnode_irq_get_byname(dev_fwnode(dev), "INT1");
> if (irq1 == data->irq) {
> dev_info(dev, "using interrupt line INT1\n");
> ret = regmap_field_write(data->regmap_fields[F_INT_CFG_DRDY],
> @@ -843,7 +841,7 @@ static int fxas21002c_trigger_probe(struct fxas21002c_data *data)
>
> dev_info(dev, "using interrupt line INT2\n");
>
> - irq_open_drain = of_property_read_bool(np, "drive-open-drain");
> + irq_open_drain = device_property_read_bool(dev, "drive-open-drain");
>
> data->dready_trig = devm_iio_trigger_alloc(dev, "%s-dev%d",
> indio_dev->name,
> --
> 2.35.1
>
On Wed, 13 Apr 2022 17:26:23 +0100
Rui Miguel Silva <[email protected]> wrote:
> Hi Andy,
> Thanks for the patch.
>
> On Wed, Apr 13, 2022 at 04:15:13PM +0300, Andy Shevchenko wrote:
> > Convert the module to be property provider agnostic and allow
> > it to be used on non-OF platforms.
> >
> > Signed-off-by: Andy Shevchenko <[email protected]>
>
> This LGTM.
>
> Acked-by: Rui Miguel Silva <[email protected]>
>
Applied to the togreg branch of iio.git and pushed out as testing
for 0-day to poke at it and see what we missed.
Thanks,
Jonathan
> Cheers,
> Rui
>
> > ---
> > drivers/iio/gyro/fxas21002c_core.c | 8 +++-----
> > 1 file changed, 3 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/iio/gyro/fxas21002c_core.c b/drivers/iio/gyro/fxas21002c_core.c
> > index 410e5e9f2672..0923fd793492 100644
> > --- a/drivers/iio/gyro/fxas21002c_core.c
> > +++ b/drivers/iio/gyro/fxas21002c_core.c
> > @@ -7,9 +7,9 @@
> >
> > #include <linux/interrupt.h>
> > #include <linux/module.h>
> > -#include <linux/of_irq.h>
> > #include <linux/pm.h>
> > #include <linux/pm_runtime.h>
> > +#include <linux/property.h>
> > #include <linux/regmap.h>
> > #include <linux/regulator/consumer.h>
> >
> > @@ -822,7 +822,6 @@ static int fxas21002c_trigger_probe(struct fxas21002c_data *data)
> > {
> > struct device *dev = regmap_get_device(data->regmap);
> > struct iio_dev *indio_dev = dev_get_drvdata(dev);
> > - struct device_node *np = indio_dev->dev.of_node;
> > unsigned long irq_trig;
> > bool irq_open_drain;
> > int irq1;
> > @@ -831,8 +830,7 @@ static int fxas21002c_trigger_probe(struct fxas21002c_data *data)
> > if (!data->irq)
> > return 0;
> >
> > - irq1 = of_irq_get_byname(np, "INT1");
> > -
> > + irq1 = fwnode_irq_get_byname(dev_fwnode(dev), "INT1");
> > if (irq1 == data->irq) {
> > dev_info(dev, "using interrupt line INT1\n");
> > ret = regmap_field_write(data->regmap_fields[F_INT_CFG_DRDY],
> > @@ -843,7 +841,7 @@ static int fxas21002c_trigger_probe(struct fxas21002c_data *data)
> >
> > dev_info(dev, "using interrupt line INT2\n");
> >
> > - irq_open_drain = of_property_read_bool(np, "drive-open-drain");
> > + irq_open_drain = device_property_read_bool(dev, "drive-open-drain");
> >
> > data->dready_trig = devm_iio_trigger_alloc(dev, "%s-dev%d",
> > indio_dev->name,
> > --
> > 2.35.1
> >