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 a couple other benefits:
* 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.
* It also checks for device match data, which allows for OF and
ACPI based probing.
Signed-off-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20260306171652.951274-4-afd@ti.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
#define to_isl68137_data(x) container_of(x, struct isl68137_data, info)
-static const struct i2c_device_id raa_dmpvr_id[];
-
static ssize_t isl68137_avs_enable_show_page(struct i2c_client *client,
int page,
char *buf)
memcpy(&data->info, &raa_dmpvr_info, sizeof(data->info));
info = &data->info;
- switch (i2c_match_id(raa_dmpvr_id, client)->driver_data) {
+ switch ((uintptr_t)i2c_get_match_data(client)) {
case raa_dmpvr1_2rail:
info->pages = 2;
info->R[PSC_VOLTAGE_IN] = 3;