The function i2c_match_id() is used to fetch the matching ID from
the i2c_device_id table. This is often used to then retrieve the
matching driver_data. This can be done in one step with the helper
i2c_get_match_data().
This helper has another benefit:
* It doesn't need the i2c_device_id passed in so we do not need
to have that forward declared, allowing us to remove that.
Signed-off-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20260306171652.951274-6-afd@ti.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
#define to_max34440_data(x) container_of(x, struct max34440_data, info)
-static const struct i2c_device_id max34440_id[];
-
static int max34440_read_word_data(struct i2c_client *client, int page,
int phase, int reg)
{
GFP_KERNEL);
if (!data)
return -ENOMEM;
- data->id = i2c_match_id(max34440_id, client)->driver_data;
+ data->id = (uintptr_t)i2c_get_match_data(client);
data->info = max34440_info[data->id];
data->iout_oc_fault_limit = MAX34440_IOUT_OC_FAULT_LIMIT;
data->iout_oc_warn_limit = MAX34440_IOUT_OC_WARN_LIMIT;