diff mbox series

[08/23] iio:adc:cpcap-adc: Drop of_match_ptr protection and use device_get_match_data

Message ID 20200628123654.32830-9-jic23@kernel.org (mailing list archive)
State New, archived
Headers show
Series iio:adc more of_match_ptr and similar removal | expand

Commit Message

Jonathan Cameron June 28, 2020, 12:36 p.m. UTC
From: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Part of a slow effort to avoid OF specific code in IIO.

Whilst the main advantages of this are not likely to be seen in this
particular driver (ACPI support via PRP0001) the change proposed
does make things a bit more maintainable and also ensures that
this particular (now) anti-patern is less likely to be cut and
paste into new drivers.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Tony Lindgren <tony@atomide.com>
---
 drivers/iio/adc/cpcap-adc.c | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

Comments

Tony Lindgren June 29, 2020, 3:21 p.m. UTC | #1
* Jonathan Cameron <jic23@kernel.org> [200628 12:40]:
> From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> 
> Part of a slow effort to avoid OF specific code in IIO.
> 
> Whilst the main advantages of this are not likely to be seen in this
> particular driver (ACPI support via PRP0001) the change proposed
> does make things a bit more maintainable and also ensures that
> this particular (now) anti-patern is less likely to be cut and
> paste into new drivers.

Acked-by: Tony Lindgren <tony@atomide.com>
Jonathan Cameron July 4, 2020, 5 p.m. UTC | #2
On Mon, 29 Jun 2020 08:21:11 -0700
Tony Lindgren <tony@atomide.com> wrote:

> * Jonathan Cameron <jic23@kernel.org> [200628 12:40]:
> > From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > 
> > Part of a slow effort to avoid OF specific code in IIO.
> > 
> > Whilst the main advantages of this are not likely to be seen in this
> > particular driver (ACPI support via PRP0001) the change proposed
> > does make things a bit more maintainable and also ensures that
> > this particular (now) anti-patern is less likely to be cut and
> > paste into new drivers.  
> 
> Acked-by: Tony Lindgren <tony@atomide.com>
Applied to the togreg branch of iio.git and pushed out as testing
for the autobuilders to play with it.

Thanks,

Jonathan
diff mbox series

Patch

diff --git a/drivers/iio/adc/cpcap-adc.c b/drivers/iio/adc/cpcap-adc.c
index 004e7fee1fb2..cc26cf309638 100644
--- a/drivers/iio/adc/cpcap-adc.c
+++ b/drivers/iio/adc/cpcap-adc.c
@@ -15,9 +15,9 @@ 
 #include <linux/interrupt.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
-#include <linux/of.h>
-#include <linux/of_platform.h>
+#include <linux/mod_devicetable.h>
 #include <linux/platform_device.h>
+#include <linux/property.h>
 #include <linux/regmap.h>
 
 #include <linux/iio/buffer.h>
@@ -955,22 +955,10 @@  MODULE_DEVICE_TABLE(of, cpcap_adc_id_table);
 
 static int cpcap_adc_probe(struct platform_device *pdev)
 {
-	const struct of_device_id *match;
 	struct cpcap_adc *ddata;
 	struct iio_dev *indio_dev;
 	int error;
 
-	match = of_match_device(of_match_ptr(cpcap_adc_id_table),
-				&pdev->dev);
-	if (!match)
-		return -EINVAL;
-
-	if (!match->data) {
-		dev_err(&pdev->dev, "no configuration data found\n");
-
-		return -ENODEV;
-	}
-
 	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*ddata));
 	if (!indio_dev) {
 		dev_err(&pdev->dev, "failed to allocate iio device\n");
@@ -978,7 +966,9 @@  static int cpcap_adc_probe(struct platform_device *pdev)
 		return -ENOMEM;
 	}
 	ddata = iio_priv(indio_dev);
-	ddata->ato = match->data;
+	ddata->ato = device_get_match_data(&pdev->dev);
+	if (!ddata->ato)
+		return -ENODEV;
 	ddata->dev = &pdev->dev;
 
 	mutex_init(&ddata->lock);
@@ -1027,7 +1017,7 @@  static int cpcap_adc_probe(struct platform_device *pdev)
 static struct platform_driver cpcap_adc_driver = {
 	.driver = {
 		.name = "cpcap_adc",
-		.of_match_table = of_match_ptr(cpcap_adc_id_table),
+		.of_match_table = cpcap_adc_id_table,
 	},
 	.probe = cpcap_adc_probe,
 };