hwmon/ltc2990: Generalise DT to fwnode support

ltc2990 will now use device_property_read_u32_array() instead of
of_property_read_u32_array() - allowing the use of software nodes
via fwnode_create_software_node().

This allows code using i2c_new_device() to specify a default
measurement mode for the LTC2990 via fwnode_create_software_node().

Signed-off-by: Max Staudt <max@enpas.org>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/r/20190819121618.16557-2-max@enpas.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Max Staudt 2019-08-19 14:16:17 +02:00 committed by Guenter Roeck
parent 10b1f2a9d4
commit 06a1c69cf5
1 changed files with 5 additions and 5 deletions

View File

@ -13,7 +13,7 @@
#include <linux/i2c.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/property.h>
#define LTC2990_STATUS 0x00
#define LTC2990_CONTROL 0x01
@ -206,7 +206,6 @@ static int ltc2990_i2c_probe(struct i2c_client *i2c,
int ret;
struct device *hwmon_dev;
struct ltc2990_data *data;
struct device_node *of_node = i2c->dev.of_node;
if (!i2c_check_functionality(i2c->adapter, I2C_FUNC_SMBUS_BYTE_DATA |
I2C_FUNC_SMBUS_WORD_DATA))
@ -218,9 +217,10 @@ static int ltc2990_i2c_probe(struct i2c_client *i2c,
data->i2c = i2c;
if (of_node) {
ret = of_property_read_u32_array(of_node, "lltc,meas-mode",
data->mode, 2);
if (dev_fwnode(&i2c->dev)) {
ret = device_property_read_u32_array(&i2c->dev,
"lltc,meas-mode",
data->mode, 2);
if (ret < 0)
return ret;