[PATCH v3 12/28] driver core: fw_devlink: Tag the fwnode dev member as private
Herve Codina
herve.codina at bootlin.com
Fri Jun 13 06:47:52 PDT 2025
The dev member in the fwnode structure should be accessed only by the
fwnode core. The fw_devlink_set_device() helper has been introduced to
avoid users to set this member directly. All users have been converted
and use fw_devlink_set_device() to set the field.
To avoid future abusers who might set the field directly and allow
sparse to detect them, tag the dev field as a private field.
Signed-off-by: Herve Codina <herve.codina at bootlin.com>
---
include/linux/fwnode.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/linux/fwnode.h b/include/linux/fwnode.h
index a1345e274125..5762914fdbf2 100644
--- a/include/linux/fwnode.h
+++ b/include/linux/fwnode.h
@@ -54,7 +54,7 @@ struct fwnode_handle {
const struct fwnode_operations *ops;
/* The below is used solely by device links, don't use otherwise */
- struct device *dev;
+ struct device *__private dev;
struct list_head suppliers;
struct list_head consumers;
u8 flags;
@@ -234,7 +234,7 @@ bool fw_devlink_is_strict(void);
static inline void fw_devlink_set_device(struct fwnode_handle *fwnode,
struct device *dev)
{
- fwnode->dev = dev;
+ ACCESS_PRIVATE(fwnode, dev) = dev;
}
#endif
--
2.49.0
More information about the linux-arm-kernel
mailing list