Linux-IIO Archive on lore.kernel.org
 help / color / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: linux-iio@vger.kernel.org
Cc: alexandru.Ardelean@analog.com,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Tony Lindgren <tony@atomide.com>
Subject: [PATCH 08/23] iio:adc:cpcap-adc: Drop of_match_ptr protection and use device_get_match_data
Date: Sun, 28 Jun 2020 13:36:39 +0100
Message-ID: <20200628123654.32830-9-jic23@kernel.org> (raw)
In-Reply-To: <20200628123654.32830-1-jic23@kernel.org>

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(-)

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,
 };
-- 
2.27.0


  parent reply index

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-28 12:36 [PATCH 00/23] iio:adc more of_match_ptr and similar removal Jonathan Cameron
2020-06-28 12:36 ` [PATCH 01/23] iio:adc:lpc32xx: Drop of_match_ptr protection Jonathan Cameron
2020-06-30  7:01   ` Andy Shevchenko
2020-07-04 16:49     ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 02/23] iio:adc:axp20x: Convert from OF to generic fw / device properties Jonathan Cameron
2020-06-28 17:43   ` Andy Shevchenko
2020-06-28 19:16     ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 03/23] iio:adc:hi8435: Drop unused of_gpio.h header Jonathan Cameron
2020-07-04 16:52   ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 04/23] iio:adc:hi8435: Drop of_match_ptr protection Jonathan Cameron
2020-07-04 16:53   ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 05/23] iio:adc:max1363: Drop of_match_ptr and use generic device_get_match_data Jonathan Cameron
2020-07-04 16:54   ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 06/23] iio:adc:max1027: drop of_match_ptr and CONFIG_OF protections Jonathan Cameron
2020-07-04 16:56   ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 07/23] iio:adc:ltc2496: Drop of_match_ptr and use mod_devicetable.h Jonathan Cameron
2020-06-28 15:52   ` Uwe Kleine-König
2020-07-04 16:58     ` Jonathan Cameron
2020-06-28 12:36 ` Jonathan Cameron [this message]
2020-06-29 15:21   ` [PATCH 08/23] iio:adc:cpcap-adc: Drop of_match_ptr protection and use device_get_match_data Tony Lindgren
2020-07-04 17:00     ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 09/23] iio:adc:ltc2497 drop of_match_ptr protection Jonathan Cameron
2020-06-28 15:53   ` Uwe Kleine-König
2020-07-04 17:04     ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 10/23] iio:adc:max11100: Drop of_match_ptr protection / add mod_devicetable.h include Jonathan Cameron
2020-06-29  7:28   ` Jacopo Mondi
2020-07-04 17:19     ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 11/23] iio:adc:max1118: Drop CONFIG_OF / of_match_ptr protections Jonathan Cameron
2020-07-04 17:20   ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 12/23] iio:adc:mcp320x: Drop CONFIG_OF and " Jonathan Cameron
2020-07-04 17:21   ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 13/23] iio:adc:mcp3422: remove " Jonathan Cameron
2020-07-04 17:22   ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 14/23] iio:adc:sd_adc_modulator: Drop of_match_ptr and tweak includes Jonathan Cameron
2020-07-04 17:24   ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 15/23] iio:adc:ti-adc081c: Drop of_match_ptr and change to mod_devicetable.h Jonathan Cameron
2020-06-30  7:12   ` Andy Shevchenko
2020-07-04 15:45     ` Jonathan Cameron
2020-07-04 17:26       ` Jonathan Cameron
2020-07-04 18:31         ` Andy Shevchenko
2020-06-28 12:36 ` [PATCH 16/23] iio:adc:ti-adc0832: drop CONFIG_OF and of_match_ptr protections Jonathan Cameron
2020-07-04 17:29   ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 17/23] iio:adc:ti-adc084s021: drop of_match_ptr protection Jonathan Cameron
2020-07-04 17:30   ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 18/23] iio:adc:ti-adc108s102: Drop CONFIG_OF and of_match_ptr protections Jonathan Cameron
2020-06-30  7:20   ` Andy Shevchenko
2020-07-04 15:54     ` Jonathan Cameron
2020-07-04 18:16       ` Andy Shevchenko
2020-06-28 12:36 ` [PATCH 19/23] iio:adc:ti-adc128s052: drop of_match_ptr protection Jonathan Cameron
2020-06-30  7:22   ` Andy Shevchenko
2020-07-04 15:58     ` Jonathan Cameron
2020-07-04 18:20       ` Andy Shevchenko
2020-06-28 12:36 ` [PATCH 20/23] iio:adc:ti-adc161s626: Drop " Jonathan Cameron
2020-06-28 19:51   ` Matt Ranostay
2020-07-04 17:31     ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 21/23] iio:adc:ti-tlc4541: Drop CONFIG_OF and of_match_ptr protections Jonathan Cameron
2020-06-28 23:43   ` Phil Reid
2020-07-04 17:32     ` Jonathan Cameron
2020-06-28 12:36 ` [PATCH 22/23] iio:adc:bcm_iproc: Drop of_match_ptr protection and switch to mod_devicetable.h Jonathan Cameron
2020-06-30  7:25   ` Andy Shevchenko
2020-07-04 15:59     ` Jonathan Cameron
2020-07-04 18:22       ` Andy Shevchenko
2020-06-28 12:36 ` [PATCH 23/23] iio:adc:ingenic: drop of_match_ptr protection and include mod_devicetable.h Jonathan Cameron
2020-07-04 17:33   ` Jonathan Cameron
2020-06-28 17:53 ` [PATCH 00/23] iio:adc more of_match_ptr and similar removal Andy Shevchenko
2020-06-28 19:32   ` Jonathan Cameron
2020-06-30  7:27 ` Andy Shevchenko
2020-07-04 17:35   ` Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200628123654.32830-9-jic23@kernel.org \
    --to=jic23@kernel.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=alexandru.Ardelean@analog.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=linux-iio@vger.kernel.org \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-IIO Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-iio/0 linux-iio/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-iio linux-iio/ https://lore.kernel.org/linux-iio \
		linux-iio@vger.kernel.org
	public-inbox-index linux-iio

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-iio


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git