Commit c88eba5a authored by Jonathan Cameron's avatar Jonathan Cameron
Browse files

iio:adc:max9611: Switch to generic firmware properties.



Note the handling of the device tree node in this driver was somewhat
unusual.  I have cleaned that up whilst also moving over to generic
properties.

Part of a general attempt to move all IIO drivers over to generic
firmware properties both as a general improvement and to avoid sources
of cut and paste into future drivers.

Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
parent fdb726c4
Loading
Loading
Loading
Loading
+9 −11
Original line number Diff line number Diff line
@@ -22,7 +22,8 @@
#include <linux/iio/iio.h>
#include <linux/iio/sysfs.h>
#include <linux/module.h>
#include <linux/of_device.h>
#include <linux/mod_devicetable.h>
#include <linux/property.h>

#define DRIVER_NAME			"max9611"

@@ -513,11 +514,9 @@ static int max9611_probe(struct i2c_client *client,
			 const struct i2c_device_id *id)
{
	const char * const shunt_res_prop = "shunt-resistor-micro-ohms";
	const struct device_node *of_node = client->dev.of_node;
	const struct of_device_id *of_id =
		of_match_device(max9611_of_table, &client->dev);
	struct max9611_dev *max9611;
	struct iio_dev *indio_dev;
	struct device *dev = &client->dev;
	unsigned int of_shunt;
	int ret;

@@ -528,15 +527,14 @@ static int max9611_probe(struct i2c_client *client,
	i2c_set_clientdata(client, indio_dev);

	max9611			= iio_priv(indio_dev);
	max9611->dev		= &client->dev;
	max9611->dev		= dev;
	max9611->i2c_client	= client;
	mutex_init(&max9611->lock);

	ret = of_property_read_u32(of_node, shunt_res_prop, &of_shunt);
	ret = device_property_read_u32(dev, shunt_res_prop, &of_shunt);
	if (ret) {
		dev_err(&client->dev,
			"Missing %s property for %pOF node\n",
			shunt_res_prop, of_node);
		dev_err(dev, "Missing %s property for %pfw node\n",
			shunt_res_prop, dev_fwnode(dev));
		return ret;
	}
	max9611->shunt_resistor_uohm = of_shunt;
@@ -545,13 +543,13 @@ static int max9611_probe(struct i2c_client *client,
	if (ret)
		return ret;

	indio_dev->name		= of_id->data;
	indio_dev->name		= device_get_match_data(dev);
	indio_dev->modes	= INDIO_DIRECT_MODE;
	indio_dev->info		= &indio_info;
	indio_dev->channels	= max9611_channels;
	indio_dev->num_channels	= ARRAY_SIZE(max9611_channels);

	return devm_iio_device_register(&client->dev, indio_dev);
	return devm_iio_device_register(dev, indio_dev);
}

static struct i2c_driver max9611_driver = {