iio: adc: vf610_adc: Make use of device properties
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 31 May 2022 14:23:53 +0000 (17:23 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 14 Jun 2022 10:53:08 +0000 (11:53 +0100)
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>
Link: https://lore.kernel.org/r/20220531142353.64925-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/Kconfig
drivers/iio/adc/vf610_adc.c

index 0050087..b9e913e 100644 (file)
@@ -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
index c84293e..c6b16cf 100644 (file)
@@ -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>
 #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);