aboutsummaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <[email protected]>2023-01-11 12:30:04 +0100
committerGreg Kroah-Hartman <[email protected]>2023-01-27 13:45:32 +0100
commitfa838c8ce53714eba788ea877520788bc72c27bd (patch)
tree5a2305cd88182e2734e11f3527f7a1a2d42dbd74 /include/linux
parenta77ad4bf792652340ab334956e69b46ec2fdaefb (diff)
i3c: move dev_to_i3cdev() to use container_of_const()
The driver core is changing to pass some pointers as const, so move dev_to_i3cdev() to use container_of_const() to handle this change. dev_to_i3cdev() now properly keeps the const-ness of the pointer passed into it, while as before it could be lost. Acked-by: Alexandre Belloni <[email protected]> Acked-by: Hans de Goede <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/i3c/device.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/linux/i3c/device.h b/include/linux/i3c/device.h
index 1c997abe868c..68b558929aec 100644
--- a/include/linux/i3c/device.h
+++ b/include/linux/i3c/device.h
@@ -186,7 +186,14 @@ static inline struct i3c_driver *drv_to_i3cdrv(struct device_driver *drv)
}
struct device *i3cdev_to_dev(struct i3c_device *i3cdev);
-struct i3c_device *dev_to_i3cdev(struct device *dev);
+
+/**
+ * dev_to_i3cdev() - Returns the I3C device containing @dev
+ * @dev: device object
+ *
+ * Return: a pointer to an I3C device object.
+ */
+#define dev_to_i3cdev(__dev) container_of_const(__dev, struct i3c_device, dev)
const struct i3c_device_id *
i3c_device_match_id(struct i3c_device *i3cdev,