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: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
This commit is contained in:
parent
fdb726c4f9
commit
c88eba5a18
@ -22,7 +22,8 @@
|
|||||||
#include <linux/iio/iio.h>
|
#include <linux/iio/iio.h>
|
||||||
#include <linux/iio/sysfs.h>
|
#include <linux/iio/sysfs.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/of_device.h>
|
#include <linux/mod_devicetable.h>
|
||||||
|
#include <linux/property.h>
|
||||||
|
|
||||||
#define DRIVER_NAME "max9611"
|
#define DRIVER_NAME "max9611"
|
||||||
|
|
||||||
@ -513,11 +514,9 @@ static int max9611_probe(struct i2c_client *client,
|
|||||||
const struct i2c_device_id *id)
|
const struct i2c_device_id *id)
|
||||||
{
|
{
|
||||||
const char * const shunt_res_prop = "shunt-resistor-micro-ohms";
|
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 max9611_dev *max9611;
|
||||||
struct iio_dev *indio_dev;
|
struct iio_dev *indio_dev;
|
||||||
|
struct device *dev = &client->dev;
|
||||||
unsigned int of_shunt;
|
unsigned int of_shunt;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@ -528,15 +527,14 @@ static int max9611_probe(struct i2c_client *client,
|
|||||||
i2c_set_clientdata(client, indio_dev);
|
i2c_set_clientdata(client, indio_dev);
|
||||||
|
|
||||||
max9611 = iio_priv(indio_dev);
|
max9611 = iio_priv(indio_dev);
|
||||||
max9611->dev = &client->dev;
|
max9611->dev = dev;
|
||||||
max9611->i2c_client = client;
|
max9611->i2c_client = client;
|
||||||
mutex_init(&max9611->lock);
|
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) {
|
if (ret) {
|
||||||
dev_err(&client->dev,
|
dev_err(dev, "Missing %s property for %pfw node\n",
|
||||||
"Missing %s property for %pOF node\n",
|
shunt_res_prop, dev_fwnode(dev));
|
||||||
shunt_res_prop, of_node);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
max9611->shunt_resistor_uohm = of_shunt;
|
max9611->shunt_resistor_uohm = of_shunt;
|
||||||
@ -545,13 +543,13 @@ static int max9611_probe(struct i2c_client *client,
|
|||||||
if (ret)
|
if (ret)
|
||||||
return 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->modes = INDIO_DIRECT_MODE;
|
||||||
indio_dev->info = &indio_info;
|
indio_dev->info = &indio_info;
|
||||||
indio_dev->channels = max9611_channels;
|
indio_dev->channels = max9611_channels;
|
||||||
indio_dev->num_channels = ARRAY_SIZE(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 = {
|
static struct i2c_driver max9611_driver = {
|
||||||
|
Loading…
Reference in New Issue
Block a user