Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Greg Kroah-Hartman <> | Subject | [PATCH v2 04/16] firewire: move fw_device() and fw_unit() to use container_of_const() | Date | Wed, 11 Jan 2023 12:30:06 +0100 |
| |
The driver core is changing to pass some pointers as const, so move fw_device() and fw_unit() functions to use container_of_const() to handle this change.
fw_device() and fw_unit() now properly keeps the const-ness of the pointer passed into it, while as before it could be lost.
This also required turning fw_parent_device() into a macro to preserve the const-ness of the pointer passed into it if necessary.
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de> Cc: linux1394-devel@lists.sourceforge.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- include/linux/firewire.h | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-)
diff --git a/include/linux/firewire.h b/include/linux/firewire.h index 980019053e54..03ac31ada5e6 100644 --- a/include/linux/firewire.h +++ b/include/linux/firewire.h @@ -208,10 +208,7 @@ struct fw_device { struct fw_attribute_group attribute_group; }; -static inline struct fw_device *fw_device(struct device *dev) -{ - return container_of(dev, struct fw_device, device); -} +#define fw_device(dev) container_of_const(dev, struct fw_device, device) static inline int fw_device_is_shutdown(struct fw_device *device) { @@ -229,10 +226,7 @@ struct fw_unit { struct fw_attribute_group attribute_group; }; -static inline struct fw_unit *fw_unit(struct device *dev) -{ - return container_of(dev, struct fw_unit, device); -} +#define fw_unit(dev) container_of_const(dev, struct fw_unit, device) static inline struct fw_unit *fw_unit_get(struct fw_unit *unit) { @@ -246,10 +240,7 @@ static inline void fw_unit_put(struct fw_unit *unit) put_device(&unit->device); } -static inline struct fw_device *fw_parent_device(struct fw_unit *unit) -{ - return fw_device(unit->device.parent); -} +#define fw_parent_device(unit) fw_device(unit->device.parent) struct ieee1394_device_id; -- 2.39.0
| ![\](/images/icornerr.gif) |