Message ID | 20220531142353.64925-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v1,1/1] iio: adc: vf610_adc: Make use of device properties | expand |
On Tue, 31 May 2022 17:23:53 +0300 Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > Convert the module to be property provider agnostic and allow > it to be used on non-OF platforms. > > Add mod_devicetable.h include. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Applied, J > --- > drivers/iio/adc/Kconfig | 1 - > drivers/iio/adc/vf610_adc.c | 15 ++++++--------- > 2 files changed, 6 insertions(+), 10 deletions(-) > > diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig > index 3b6a80786b51..448ae243cd31 100644 > --- a/drivers/iio/adc/Kconfig > +++ b/drivers/iio/adc/Kconfig > @@ -1257,7 +1257,6 @@ config TWL6030_GPADC > > config VF610_ADC > tristate "Freescale vf610 ADC driver" > - depends on OF > depends on HAS_IOMEM > select IIO_BUFFER > select IIO_TRIGGERED_BUFFER > diff --git a/drivers/iio/adc/vf610_adc.c b/drivers/iio/adc/vf610_adc.c > index c84293efc129..c6b16cf6e367 100644 > --- a/drivers/iio/adc/vf610_adc.c > +++ b/drivers/iio/adc/vf610_adc.c > @@ -5,7 +5,9 @@ > * Copyright 2013 Freescale Semiconductor, Inc. > */ > > +#include <linux/mod_devicetable.h> > #include <linux/module.h> > +#include <linux/property.h> > #include <linux/platform_device.h> > #include <linux/interrupt.h> > #include <linux/delay.h> > @@ -14,10 +16,7 @@ > #include <linux/io.h> > #include <linux/clk.h> > #include <linux/completion.h> > -#include <linux/of.h> > -#include <linux/of_irq.h> > #include <linux/regulator/consumer.h> > -#include <linux/of_platform.h> > #include <linux/err.h> > > #include <linux/iio/iio.h> > @@ -799,6 +798,7 @@ MODULE_DEVICE_TABLE(of, vf610_adc_match); > > static int vf610_adc_probe(struct platform_device *pdev) > { > + struct device *dev = &pdev->dev; > struct vf610_adc *info; > struct iio_dev *indio_dev; > int irq; > @@ -846,13 +846,10 @@ static int vf610_adc_probe(struct platform_device *pdev) > > info->vref_uv = regulator_get_voltage(info->vref); > > - of_property_read_u32_array(pdev->dev.of_node, "fsl,adck-max-frequency", > - info->max_adck_rate, 3); > + device_property_read_u32_array(dev, "fsl,adck-max-frequency", info->max_adck_rate, 3); > > - ret = of_property_read_u32(pdev->dev.of_node, "min-sample-time", > - &info->adc_feature.default_sample_time); > - if (ret) > - info->adc_feature.default_sample_time = DEFAULT_SAMPLE_TIME; > + info->adc_feature.default_sample_time = DEFAULT_SAMPLE_TIME; > + device_property_read_u32(dev, "min-sample-time", &info->adc_feature.default_sample_time); > > platform_set_drvdata(pdev, indio_dev); >
diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig index 3b6a80786b51..448ae243cd31 100644 --- a/drivers/iio/adc/Kconfig +++ b/drivers/iio/adc/Kconfig @@ -1257,7 +1257,6 @@ config TWL6030_GPADC config VF610_ADC tristate "Freescale vf610 ADC driver" - depends on OF depends on HAS_IOMEM select IIO_BUFFER select IIO_TRIGGERED_BUFFER diff --git a/drivers/iio/adc/vf610_adc.c b/drivers/iio/adc/vf610_adc.c index c84293efc129..c6b16cf6e367 100644 --- a/drivers/iio/adc/vf610_adc.c +++ b/drivers/iio/adc/vf610_adc.c @@ -5,7 +5,9 @@ * Copyright 2013 Freescale Semiconductor, Inc. */ +#include <linux/mod_devicetable.h> #include <linux/module.h> +#include <linux/property.h> #include <linux/platform_device.h> #include <linux/interrupt.h> #include <linux/delay.h> @@ -14,10 +16,7 @@ #include <linux/io.h> #include <linux/clk.h> #include <linux/completion.h> -#include <linux/of.h> -#include <linux/of_irq.h> #include <linux/regulator/consumer.h> -#include <linux/of_platform.h> #include <linux/err.h> #include <linux/iio/iio.h> @@ -799,6 +798,7 @@ MODULE_DEVICE_TABLE(of, vf610_adc_match); static int vf610_adc_probe(struct platform_device *pdev) { + struct device *dev = &pdev->dev; struct vf610_adc *info; struct iio_dev *indio_dev; int irq; @@ -846,13 +846,10 @@ static int vf610_adc_probe(struct platform_device *pdev) info->vref_uv = regulator_get_voltage(info->vref); - of_property_read_u32_array(pdev->dev.of_node, "fsl,adck-max-frequency", - info->max_adck_rate, 3); + device_property_read_u32_array(dev, "fsl,adck-max-frequency", info->max_adck_rate, 3); - ret = of_property_read_u32(pdev->dev.of_node, "min-sample-time", - &info->adc_feature.default_sample_time); - if (ret) - info->adc_feature.default_sample_time = DEFAULT_SAMPLE_TIME; + info->adc_feature.default_sample_time = DEFAULT_SAMPLE_TIME; + device_property_read_u32(dev, "min-sample-time", &info->adc_feature.default_sample_time); platform_set_drvdata(pdev, indio_dev);
Convert the module to be property provider agnostic and allow it to be used on non-OF platforms. Add mod_devicetable.h include. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/iio/adc/Kconfig | 1 - drivers/iio/adc/vf610_adc.c | 15 ++++++--------- 2 files changed, 6 insertions(+), 10 deletions(-)