linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: linux-iio@vger.kernel.org
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Peter Meerwald <pmeerw@pmeerw.net>
Subject: [PATCH 13/38] iio:dac:mcp4725: drop of_match_ptr and use generic fw properties
Date: Thu, 10 Sep 2020 18:32:17 +0100	[thread overview]
Message-ID: <20200910173242.621168-14-jic23@kernel.org> (raw)
In-Reply-To: <20200910173242.621168-1-jic23@kernel.org>

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

This enables use of ACPI PRP0001 and removes an antipattern I am
trying to stop people copying in IIO.

This particular case is more complex than most because it allowed
probing via sysfs with out a fwnode but would presumably always
have then failed.   Now the code will assume that properties are
the defaults if not specified or the firmware node is not present.
This relaxation of the constraints should not break any existing
cases and may enable some new ones.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Peter Meerwald <pmeerw@pmeerw.net>
---
 drivers/iio/dac/mcp4725.c | 29 +++++++----------------------
 1 file changed, 7 insertions(+), 22 deletions(-)

diff --git a/drivers/iio/dac/mcp4725.c b/drivers/iio/dac/mcp4725.c
index ee174d224110..beb9a15b7c74 100644
--- a/drivers/iio/dac/mcp4725.c
+++ b/drivers/iio/dac/mcp4725.c
@@ -16,8 +16,8 @@
 #include <linux/err.h>
 #include <linux/delay.h>
 #include <linux/regulator/consumer.h>
-#include <linux/of_device.h>
-#include <linux/of.h>
+#include <linux/mod_devicetable.h>
+#include <linux/property.h>
 
 #include <linux/iio/iio.h>
 #include <linux/iio/sysfs.h>
@@ -357,29 +357,16 @@ static const struct iio_info mcp4725_info = {
 	.attrs = &mcp4725_attribute_group,
 };
 
-#ifdef CONFIG_OF
 static int mcp4725_probe_dt(struct device *dev,
 			    struct mcp4725_platform_data *pdata)
 {
-	struct device_node *np = dev->of_node;
-
-	if (!np)
-		return -ENODEV;
-
 	/* check if is the vref-supply defined */
-	pdata->use_vref = of_property_read_bool(np, "vref-supply");
+	pdata->use_vref = device_property_read_bool(dev, "vref-supply");
 	pdata->vref_buffered =
-		of_property_read_bool(np, "microchip,vref-buffered");
+		device_property_read_bool(dev, "microchip,vref-buffered");
 
 	return 0;
 }
-#else
-static int mcp4725_probe_dt(struct device *dev,
-			    struct mcp4725_platform_data *platform_data)
-{
-	return -ENODEV;
-}
-#endif
 
 static int mcp4725_probe(struct i2c_client *client,
 			 const struct i2c_device_id *id)
@@ -398,8 +385,8 @@ static int mcp4725_probe(struct i2c_client *client,
 	data = iio_priv(indio_dev);
 	i2c_set_clientdata(client, indio_dev);
 	data->client = client;
-	if (client->dev.of_node)
-		data->id = (enum chip_id)of_device_get_match_data(&client->dev);
+	if (dev_fwnode(&client->dev))
+		data->id = (enum chip_id)device_get_match_data(&client->dev);
 	else
 		data->id = id->driver_data;
 	pdata = dev_get_platdata(&client->dev);
@@ -519,7 +506,6 @@ static const struct i2c_device_id mcp4725_id[] = {
 };
 MODULE_DEVICE_TABLE(i2c, mcp4725_id);
 
-#ifdef CONFIG_OF
 static const struct of_device_id mcp4725_of_match[] = {
 	{
 		.compatible = "microchip,mcp4725",
@@ -532,12 +518,11 @@ static const struct of_device_id mcp4725_of_match[] = {
 	{ }
 };
 MODULE_DEVICE_TABLE(of, mcp4725_of_match);
-#endif
 
 static struct i2c_driver mcp4725_driver = {
 	.driver = {
 		.name	= MCP4725_DRV_NAME,
-		.of_match_table = of_match_ptr(mcp4725_of_match),
+		.of_match_table = mcp4725_of_match,
 		.pm	= &mcp4725_pm_ops,
 	},
 	.probe		= mcp4725_probe,
-- 
2.28.0


  parent reply	other threads:[~2020-09-10 17:37 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-10 17:32 [PATCH 00/38] iio: remaining easy of_match_ptr removal and related Jonathan Cameron
2020-09-10 17:32 ` [PATCH 01/38] iio:potentiometer:ad5272: Drop of_match_ptr and CONFIG_OF protections Jonathan Cameron
2020-09-10 17:32 ` [PATCH 02/38] iio:potentiometer:ds1803: " Jonathan Cameron
2020-09-10 17:32 ` [PATCH 03/38] iio:potentiometer:max5432: Drop of_match_ptr and use generic fw accessors Jonathan Cameron
2020-09-21 14:24   ` Martin Kaiser
2020-09-10 17:32 ` [PATCH 04/38] iio:potentiometer:max5481: Drop of_match_ptr and CONFIG_OF protections Jonathan Cameron
2020-09-10 17:32 ` [PATCH 05/38] iio:potentiometer:max5481: Drop invalid ACPI binding Jonathan Cameron
2020-09-14  8:07   ` Andy Shevchenko
2020-09-10 17:32 ` [PATCH 06/38] iio:potentiometer:mcp4018: Drop of_match_ptr and CONFIG_OF protections Jonathan Cameron
2020-09-10 17:32 ` [PATCH 07/38] iio:potentiometer:mcp4131: Drop of_match_ptr and use generic fw interfaces Jonathan Cameron
2020-09-10 17:32 ` [PATCH 08/38] iio:potentiometer:mcp4531: Drop of_match_ptr and CONFIG_OF protections Jonathan Cameron
2020-09-10 17:32 ` [PATCH 09/38] iio:dac:ad5446: " Jonathan Cameron
2020-09-10 17:32 ` [PATCH 10/38] iio:dac:ad5592r: Drop of_match_ptr and ACPI_PTR protections Jonathan Cameron
2020-09-10 17:32 ` [PATCH 11/38] iio:dac:ad5593r: " Jonathan Cameron
2020-09-10 17:32 ` [PATCH 12/38] iio:dac:ad7303: Drop of_match_ptr protection Jonathan Cameron
2020-09-10 17:32 ` Jonathan Cameron [this message]
2020-09-10 17:32 ` [PATCH 14/38] iio:dac:ti-dac082s085: Drop of_match_ptr and CONFIG_OF protections Jonathan Cameron
2020-09-10 17:32 ` [PATCH 15/38] iio:dac:ti-dac5571: " Jonathan Cameron
2020-09-10 17:32 ` [PATCH 16/38] iio:potentiostat:lmp91000: Drop of_match_ptr and use generic fw accessors Jonathan Cameron
2020-09-15 18:59   ` Matt Ranostay
2020-09-10 17:32 ` [PATCH 17/38] iio:pressure:icp10100: Drop of_match_ptr and CONFIG_OF protections Jonathan Cameron
2020-09-10 17:32 ` [PATCH 18/38] iio:pressure:ms5611: " Jonathan Cameron
2020-09-10 17:32 ` [PATCH 19/38] iio:pressure:ms5637: Drop of_match_ptr protection Jonathan Cameron
2020-09-10 17:32 ` [PATCH 20/38] iio:pressure:zpa2326: " Jonathan Cameron
2020-09-10 17:32 ` [PATCH 21/38] iio:temperature:tsys01: " Jonathan Cameron
2020-09-10 17:32 ` [PATCH 22/38] iio:temperature:tmp007: " Jonathan Cameron
2020-09-10 17:32 ` [PATCH 23/38] iio:resolver:ad2s1200: " Jonathan Cameron
2020-09-10 17:32 ` [PATCH 24/38] iio:chemical:ams-iaq-core: " Jonathan Cameron
2020-09-15 18:55   ` Matt Ranostay
2020-09-10 17:32 ` [PATCH 25/38] iio:chemical:atlas-sensor: Drop of_match_ptr and use generic fw accessors Jonathan Cameron
2020-09-15 18:59   ` Matt Ranostay
2020-09-10 17:32 ` [PATCH 26/38] iio:chemical:sgp30: Use local variable dev to simplify code Jonathan Cameron
2020-09-10 17:32 ` [PATCH 27/38] iio:chemical:sgp30: Drop of_match_ptr and use generic fw accessors Jonathan Cameron
2020-09-10 17:32 ` [PATCH 28/38] iio:chemical:vz89x: Introduce local struct device pointer Jonathan Cameron
2020-09-15 19:02   ` Matt Ranostay
2020-09-10 17:32 ` [PATCH 29/38] iio:chemical:vz89x: Drop of_match_ptr protection and use generic fw accessors Jonathan Cameron
2020-09-15 19:03   ` Matt Ranostay
2020-09-10 17:32 ` [PATCH 30/38] iio:humidity:hdc100x: Drop of_match_ptr protection Jonathan Cameron
2020-09-15 18:59   ` Matt Ranostay
2020-09-10 17:32 ` [PATCH 31/38] iio:proximity:as3935: Use local struct device pointer to simplify code Jonathan Cameron
2020-09-15 18:56   ` Matt Ranostay
2020-09-10 17:32 ` [PATCH 32/38] iio:proximity:as3935: Drop of_match_ptr and use generic fw accessors Jonathan Cameron
2020-09-15 18:55   ` Matt Ranostay
2020-09-10 17:32 ` [PATCH 33/38] iio:proximity:pulsedlight: Drop of_match_ptr protection Jonathan Cameron
2020-09-15 18:55   ` Matt Ranostay
2020-09-10 17:32 ` [PATCH 34/38] iio:magn:ak8975: Drop of_match_ptr and ACPI_PTR protections Jonathan Cameron
2020-09-11 18:59   ` Jonathan Albrieux
2020-09-10 17:32 ` [PATCH 35/38] iio:magn:ak8974: Drop of_match_ptr protection Jonathan Cameron
2020-09-29 12:40   ` Linus Walleij
2020-09-10 17:32 ` [PATCH 36/38] iio:humidity:htu21: " Jonathan Cameron
2020-09-10 17:32 ` [PATCH 37/38] iio:humidity:si7020: " Jonathan Cameron
2020-09-10 17:32 ` [PATCH 38/38] iio:health:max30102: Drop of_match_ptr and use generic fw accessors Jonathan Cameron
2020-09-15 18:54   ` Matt Ranostay
2020-09-14  8:04 ` [PATCH 00/38] iio: remaining easy of_match_ptr removal and related Andy Shevchenko
2020-09-17 18:17   ` 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=20200910173242.621168-14-jic23@kernel.org \
    --to=jic23@kernel.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=linux-iio@vger.kernel.org \
    --cc=pmeerw@pmeerw.net \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).