Commit b84d6d3b authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

vio: move to_vio_dev() to use container_of_const()

The driver core is changing to pass some pointers as const, so move
to_vio_dev() to use container_of_const() to handle this change.
to_vio_dev() now properly keeps the const-ness of the pointer passed
into it, while as before it could be lost.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230111113018.459199-9-gregkh@linuxfoundation.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 42bb5be8
...@@ -161,10 +161,7 @@ static inline struct vio_driver *to_vio_driver(struct device_driver *drv) ...@@ -161,10 +161,7 @@ static inline struct vio_driver *to_vio_driver(struct device_driver *drv)
return container_of(drv, struct vio_driver, driver); return container_of(drv, struct vio_driver, driver);
} }
static inline struct vio_dev *to_vio_dev(struct device *dev) #define to_vio_dev(__dev) container_of_const(__dev, struct vio_dev, dev)
{
return container_of(dev, struct vio_dev, dev);
}
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* _ASM_POWERPC_VIO_H */ #endif /* _ASM_POWERPC_VIO_H */
...@@ -488,10 +488,7 @@ static inline struct vio_driver *to_vio_driver(struct device_driver *drv) ...@@ -488,10 +488,7 @@ static inline struct vio_driver *to_vio_driver(struct device_driver *drv)
return container_of(drv, struct vio_driver, driver); return container_of(drv, struct vio_driver, driver);
} }
static inline struct vio_dev *to_vio_dev(struct device *dev) #define to_vio_dev(__dev) container_of_const(__dev, struct vio_dev, dev)
{
return container_of(dev, struct vio_dev, dev);
}
int vio_ldc_send(struct vio_driver_state *vio, void *data, int len); int vio_ldc_send(struct vio_driver_state *vio, void *data, int len);
void vio_link_state_change(struct vio_driver_state *vio, int event); void vio_link_state_change(struct vio_driver_state *vio, int event);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment