summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2022-11-24 23:09:51 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2022-11-24 23:11:26 +1100
commit963c7fe6cdbfe72c2760c4ed91c808540a4bfb9e (patch)
tree490071a1ea0b1b87a67c37c75729505ef410ccb9 /drivers
parent247f34f7b80357943234f93f247a1ae6b6c3a740 (diff)
parent662233731d66cf41e7494e532e702849c8ce18f3 (diff)
downloadlinux-stable-963c7fe6cdbfe72c2760c4ed91c808540a4bfb9e.tar.gz
linux-stable-963c7fe6cdbfe72c2760c4ed91c808540a4bfb9e.tar.bz2
linux-stable-963c7fe6cdbfe72c2760c4ed91c808540a4bfb9e.zip
Merge branch i2c/client_device_id_helper-immutable of wsa/linux into next
Merge Wolfram's topic branch holding the new i2c_client_get_device_id() helper, so that we can apply conversion patches that depend on it.
Diffstat (limited to 'drivers')
-rw-r--r--drivers/i2c/i2c-core-base.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
index b4edf10e8fd0..9aa7b9d9a485 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
@@ -2236,6 +2236,20 @@ int i2c_get_device_id(const struct i2c_client *client,
}
EXPORT_SYMBOL_GPL(i2c_get_device_id);
+/**
+ * i2c_client_get_device_id - get the driver match table entry of a device
+ * @client: the device to query. The device must be bound to a driver
+ *
+ * Returns a pointer to the matching entry if found, NULL otherwise.
+ */
+const struct i2c_device_id *i2c_client_get_device_id(const struct i2c_client *client)
+{
+ const struct i2c_driver *drv = to_i2c_driver(client->dev.driver);
+
+ return i2c_match_id(drv->id_table, client);
+}
+EXPORT_SYMBOL_GPL(i2c_client_get_device_id);
+
/* ----------------------------------------------------
* the i2c address scanning function
* Will not work for 10-bit addresses!