The vkms container_of helpers use container_of() which discards the
const qualifier from the input pointer. This prevents passing a const
state pointer to to_vkms_plane_state() without a cast, for instance
in atomic_get_property which receives a const drm_plane_state.

Switch all four helpers to container_of_const() so the const qualifier
is properly propagated to the result type.

Signed-off-by: Maxime Ripard <[email protected]>
---
 drivers/gpu/drm/vkms/vkms_drv.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/vkms/vkms_drv.h b/drivers/gpu/drm/vkms/vkms_drv.h
index 381483aa4fb0..dea6cad3f1b9 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.h
+++ b/drivers/gpu/drm/vkms/vkms_drv.h
@@ -248,20 +248,20 @@ struct vkms_device {
 /*
  * The following helpers are used to convert a member of a struct into its 
parent.
  */
 
 #define drm_crtc_to_vkms_output(target) \
-       container_of(target, struct vkms_output, crtc)
+       container_of_const(target, struct vkms_output, crtc)
 
 #define drm_device_to_vkms_device(target) \
-       container_of(target, struct vkms_device, drm)
+       container_of_const(target, struct vkms_device, drm)
 
 #define to_vkms_crtc_state(target)\
-       container_of(target, struct vkms_crtc_state, base)
+       container_of_const(target, struct vkms_crtc_state, base)
 
 #define to_vkms_plane_state(target)\
-       container_of(target, struct vkms_plane_state, base.base)
+       container_of_const(target, struct vkms_plane_state, base.base)
 
 /**
  * vkms_create() - Create a device from a configuration
  * @config: Config used to configure the new device
  *

-- 
2.55.0

Reply via email to