Commit ac0c26ba authored by Rob Herring's avatar Rob Herring Committed by Guenter Roeck

hwmon: (lm25066) Use i2c_get_match_data()

Use preferred i2c_get_match_data() instead of of_match_device() and
i2c_match_id() to get the driver match data. With this, adjust the
includes to explicitly include the correct headers.

Adjust the 'chips' enum to not use 0, so that no match data can be
distinguished from a valid enum value.
Signed-off-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20231115205703.3730448-3-robh@kernel.org
[groeck: Use double cast for enum chips assignment to make compiler happy]
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 2792fc8f
...@@ -14,10 +14,10 @@ ...@@ -14,10 +14,10 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/log2.h> #include <linux/log2.h>
#include <linux/of_device.h> #include <linux/of.h>
#include "pmbus.h" #include "pmbus.h"
enum chips { lm25056, lm25066, lm5064, lm5066, lm5066i }; enum chips { lm25056 = 1, lm25066, lm5064, lm5066, lm5066i };
#define LM25066_READ_VAUX 0xd0 #define LM25066_READ_VAUX 0xd0
#define LM25066_MFR_READ_IIN 0xd1 #define LM25066_MFR_READ_IIN 0xd1
...@@ -468,8 +468,6 @@ static int lm25066_probe(struct i2c_client *client) ...@@ -468,8 +468,6 @@ static int lm25066_probe(struct i2c_client *client)
struct lm25066_data *data; struct lm25066_data *data;
struct pmbus_driver_info *info; struct pmbus_driver_info *info;
const struct __coeff *coeff; const struct __coeff *coeff;
const struct of_device_id *of_id;
const struct i2c_device_id *i2c_id;
if (!i2c_check_functionality(client->adapter, if (!i2c_check_functionality(client->adapter,
I2C_FUNC_SMBUS_READ_BYTE_DATA)) I2C_FUNC_SMBUS_READ_BYTE_DATA))
...@@ -484,14 +482,8 @@ static int lm25066_probe(struct i2c_client *client) ...@@ -484,14 +482,8 @@ static int lm25066_probe(struct i2c_client *client)
if (config < 0) if (config < 0)
return config; return config;
i2c_id = i2c_match_id(lm25066_id, client); data->id = (enum chips)(unsigned long)i2c_get_match_data(client);
of_id = of_match_device(lm25066_of_match, &client->dev);
if (of_id && (unsigned long)of_id->data != i2c_id->driver_data)
dev_notice(&client->dev, "Device mismatch: %s in device tree, %s detected\n",
of_id->name, i2c_id->name);
data->id = i2c_id->driver_data;
info = &data->info; info = &data->info;
info->pages = 1; info->pages = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment