linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] iio:adc:axp20x: Convert from OF to generic fw / device properties
@ 2020-08-09 14:13 Jonathan Cameron
  2020-08-10  8:01 ` Andy Shevchenko
  0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Cameron @ 2020-08-09 14:13 UTC (permalink / raw)
  To: linux-iio; +Cc: Jonathan Cameron, Quentin Schulz, Andy Shevchenko

From: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Whilst fairly unlikely anyone will ever use this driver with anything
other than DT, we are trying to move IIO over to the generic interfaces
where easy to do so.

In this case this involved moving to generic check on presence
of fwnode, generic device_get_match_data() and dropping the of_match_ptr
protection.  Also relevant header changes to have property.h and
mod_devicetable.h only.

Also drop the casting away of a const in favour of retaining
the const throughout.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Quentin Schulz <quentin.schulz@bootlin.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
---
V3 changes: Tidy up the commit message as suggested by
Andy Schevchenko.

drivers/iio/adc/axp20x_adc.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/iio/adc/axp20x_adc.c b/drivers/iio/adc/axp20x_adc.c
index 798ff2d89691..3e0c0233b431 100644
--- a/drivers/iio/adc/axp20x_adc.c
+++ b/drivers/iio/adc/axp20x_adc.c
@@ -9,10 +9,10 @@
 #include <linux/interrupt.h>
 #include <linux/io.h>
 #include <linux/module.h>
-#include <linux/of.h>
-#include <linux/of_device.h>
+#include <linux/mod_devicetable.h>
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
+#include <linux/property.h>
 #include <linux/regmap.h>
 #include <linux/thermal.h>
 
@@ -67,7 +67,7 @@ struct axp_data;
 
 struct axp20x_adc_iio {
 	struct regmap		*regmap;
-	struct axp_data		*data;
+	const struct axp_data	*data;
 };
 
 enum axp20x_adc_channel_v {
@@ -670,15 +670,15 @@ static int axp20x_probe(struct platform_device *pdev)
 	info->regmap = axp20x_dev->regmap;
 	indio_dev->modes = INDIO_DIRECT_MODE;
 
-	if (!pdev->dev.of_node) {
+	if (!dev_fwnode(&pdev->dev)) {
 		const struct platform_device_id *id;
 
 		id = platform_get_device_id(pdev);
-		info->data = (struct axp_data *)id->driver_data;
+		info->data = (const struct axp_data *)id->driver_data;
 	} else {
 		struct device *dev = &pdev->dev;
 
-		info->data = (struct axp_data *)of_device_get_match_data(dev);
+		info->data = device_get_match_data(dev);
 	}
 
 	indio_dev->name = platform_get_device_id(pdev)->name;
@@ -742,7 +742,7 @@ static int axp20x_remove(struct platform_device *pdev)
 static struct platform_driver axp20x_adc_driver = {
 	.driver = {
 		.name = "axp20x-adc",
-		.of_match_table = of_match_ptr(axp20x_adc_of_match),
+		.of_match_table = axp20x_adc_of_match,
 	},
 	.id_table = axp20x_adc_id_match,
 	.probe = axp20x_probe,
-- 
2.28.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] iio:adc:axp20x: Convert from OF to generic fw / device properties
  2020-08-09 14:13 [PATCH v3] iio:adc:axp20x: Convert from OF to generic fw / device properties Jonathan Cameron
@ 2020-08-10  8:01 ` Andy Shevchenko
  2020-08-16  9:00   ` Jonathan Cameron
  0 siblings, 1 reply; 3+ messages in thread
From: Andy Shevchenko @ 2020-08-10  8:01 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Jonathan Cameron, Quentin Schulz

On Sun, Aug 9, 2020 at 5:15 PM Jonathan Cameron <jic23@kernel.org> wrote:
>
> From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
>
> Whilst fairly unlikely anyone will ever use this driver with anything
> other than DT, we are trying to move IIO over to the generic interfaces
> where easy to do so.
>
> In this case this involved moving to generic check on presence
> of fwnode, generic device_get_match_data() and dropping the of_match_ptr
> protection.  Also relevant header changes to have property.h and
> mod_devicetable.h only.
>
> Also drop the casting away of a const in favour of retaining
> the const throughout.


Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Cc: Quentin Schulz <quentin.schulz@bootlin.com>
> Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
> ---
> V3 changes: Tidy up the commit message as suggested by
> Andy Schevchenko.
>
> drivers/iio/adc/axp20x_adc.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/iio/adc/axp20x_adc.c b/drivers/iio/adc/axp20x_adc.c
> index 798ff2d89691..3e0c0233b431 100644
> --- a/drivers/iio/adc/axp20x_adc.c
> +++ b/drivers/iio/adc/axp20x_adc.c
> @@ -9,10 +9,10 @@
>  #include <linux/interrupt.h>
>  #include <linux/io.h>
>  #include <linux/module.h>
> -#include <linux/of.h>
> -#include <linux/of_device.h>
> +#include <linux/mod_devicetable.h>
>  #include <linux/platform_device.h>
>  #include <linux/pm_runtime.h>
> +#include <linux/property.h>
>  #include <linux/regmap.h>
>  #include <linux/thermal.h>
>
> @@ -67,7 +67,7 @@ struct axp_data;
>
>  struct axp20x_adc_iio {
>         struct regmap           *regmap;
> -       struct axp_data         *data;
> +       const struct axp_data   *data;
>  };
>
>  enum axp20x_adc_channel_v {
> @@ -670,15 +670,15 @@ static int axp20x_probe(struct platform_device *pdev)
>         info->regmap = axp20x_dev->regmap;
>         indio_dev->modes = INDIO_DIRECT_MODE;
>
> -       if (!pdev->dev.of_node) {
> +       if (!dev_fwnode(&pdev->dev)) {
>                 const struct platform_device_id *id;
>
>                 id = platform_get_device_id(pdev);
> -               info->data = (struct axp_data *)id->driver_data;
> +               info->data = (const struct axp_data *)id->driver_data;
>         } else {
>                 struct device *dev = &pdev->dev;
>
> -               info->data = (struct axp_data *)of_device_get_match_data(dev);
> +               info->data = device_get_match_data(dev);
>         }
>
>         indio_dev->name = platform_get_device_id(pdev)->name;
> @@ -742,7 +742,7 @@ static int axp20x_remove(struct platform_device *pdev)
>  static struct platform_driver axp20x_adc_driver = {
>         .driver = {
>                 .name = "axp20x-adc",
> -               .of_match_table = of_match_ptr(axp20x_adc_of_match),
> +               .of_match_table = axp20x_adc_of_match,
>         },
>         .id_table = axp20x_adc_id_match,
>         .probe = axp20x_probe,
> --
> 2.28.0
>


-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] iio:adc:axp20x: Convert from OF to generic fw / device properties
  2020-08-10  8:01 ` Andy Shevchenko
@ 2020-08-16  9:00   ` Jonathan Cameron
  0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Cameron @ 2020-08-16  9:00 UTC (permalink / raw)
  To: Andy Shevchenko; +Cc: linux-iio, Jonathan Cameron, Quentin Schulz

On Mon, 10 Aug 2020 11:01:22 +0300
Andy Shevchenko <andy.shevchenko@gmail.com> wrote:

> On Sun, Aug 9, 2020 at 5:15 PM Jonathan Cameron <jic23@kernel.org> wrote:
> >
> > From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> >
> > Whilst fairly unlikely anyone will ever use this driver with anything
> > other than DT, we are trying to move IIO over to the generic interfaces
> > where easy to do so.
> >
> > In this case this involved moving to generic check on presence
> > of fwnode, generic device_get_match_data() and dropping the of_match_ptr
> > protection.  Also relevant header changes to have property.h and
> > mod_devicetable.h only.
> >
> > Also drop the casting away of a const in favour of retaining
> > the const throughout.  
> 
> 
> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Thanks.  Applied to the togreg branch of iio.git and pushed out as testing
for the autobuilders to play with them.

Thanks,

Jonathan

> 
> > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > Cc: Quentin Schulz <quentin.schulz@bootlin.com>
> > Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
> > ---
> > V3 changes: Tidy up the commit message as suggested by
> > Andy Schevchenko.
> >
> > drivers/iio/adc/axp20x_adc.c | 14 +++++++-------
> >  1 file changed, 7 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/iio/adc/axp20x_adc.c b/drivers/iio/adc/axp20x_adc.c
> > index 798ff2d89691..3e0c0233b431 100644
> > --- a/drivers/iio/adc/axp20x_adc.c
> > +++ b/drivers/iio/adc/axp20x_adc.c
> > @@ -9,10 +9,10 @@
> >  #include <linux/interrupt.h>
> >  #include <linux/io.h>
> >  #include <linux/module.h>
> > -#include <linux/of.h>
> > -#include <linux/of_device.h>
> > +#include <linux/mod_devicetable.h>
> >  #include <linux/platform_device.h>
> >  #include <linux/pm_runtime.h>
> > +#include <linux/property.h>
> >  #include <linux/regmap.h>
> >  #include <linux/thermal.h>
> >
> > @@ -67,7 +67,7 @@ struct axp_data;
> >
> >  struct axp20x_adc_iio {
> >         struct regmap           *regmap;
> > -       struct axp_data         *data;
> > +       const struct axp_data   *data;
> >  };
> >
> >  enum axp20x_adc_channel_v {
> > @@ -670,15 +670,15 @@ static int axp20x_probe(struct platform_device *pdev)
> >         info->regmap = axp20x_dev->regmap;
> >         indio_dev->modes = INDIO_DIRECT_MODE;
> >
> > -       if (!pdev->dev.of_node) {
> > +       if (!dev_fwnode(&pdev->dev)) {
> >                 const struct platform_device_id *id;
> >
> >                 id = platform_get_device_id(pdev);
> > -               info->data = (struct axp_data *)id->driver_data;
> > +               info->data = (const struct axp_data *)id->driver_data;
> >         } else {
> >                 struct device *dev = &pdev->dev;
> >
> > -               info->data = (struct axp_data *)of_device_get_match_data(dev);
> > +               info->data = device_get_match_data(dev);
> >         }
> >
> >         indio_dev->name = platform_get_device_id(pdev)->name;
> > @@ -742,7 +742,7 @@ static int axp20x_remove(struct platform_device *pdev)
> >  static struct platform_driver axp20x_adc_driver = {
> >         .driver = {
> >                 .name = "axp20x-adc",
> > -               .of_match_table = of_match_ptr(axp20x_adc_of_match),
> > +               .of_match_table = axp20x_adc_of_match,
> >         },
> >         .id_table = axp20x_adc_id_match,
> >         .probe = axp20x_probe,
> > --
> > 2.28.0
> >  
> 
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-16  9:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-09 14:13 [PATCH v3] iio:adc:axp20x: Convert from OF to generic fw / device properties Jonathan Cameron
2020-08-10  8:01 ` Andy Shevchenko
2020-08-16  9:00   ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).