]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/vkms: Create vkms_connector struct
authorJosé Expósito <jose.exposito89@gmail.com>
Tue, 18 Feb 2025 10:12:02 +0000 (11:12 +0100)
committerMaxime Ripard <mripard@kernel.org>
Fri, 7 Mar 2025 09:58:19 +0000 (10:58 +0100)
Create a structure wrapping the drm_connector.

Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250218101214.5790-3-jose.exposito89@gmail.com
Signed-off-by: Maxime Ripard <mripard@kernel.org>
drivers/gpu/drm/vkms/vkms_connector.c
drivers/gpu/drm/vkms/vkms_connector.h
drivers/gpu/drm/vkms/vkms_output.c

index fc97f265dea66a7e7b63ec579281bbdb2720ae95..ab8b52a84151cba1d6fe98d4c75831fb50756968 100644 (file)
@@ -29,22 +29,22 @@ static const struct drm_connector_helper_funcs vkms_conn_helper_funcs = {
        .get_modes    = vkms_conn_get_modes,
 };
 
-struct drm_connector *vkms_connector_init(struct vkms_device *vkmsdev)
+struct vkms_connector *vkms_connector_init(struct vkms_device *vkmsdev)
 {
        struct drm_device *dev = &vkmsdev->drm;
-       struct drm_connector *connector;
+       struct vkms_connector *connector;
        int ret;
 
        connector = drmm_kzalloc(dev, sizeof(*connector), GFP_KERNEL);
        if (!connector)
                return ERR_PTR(-ENOMEM);
 
-       ret = drmm_connector_init(dev, connector, &vkms_connector_funcs,
+       ret = drmm_connector_init(dev, &connector->base, &vkms_connector_funcs,
                                  DRM_MODE_CONNECTOR_VIRTUAL, NULL);
        if (ret)
                return ERR_PTR(ret);
 
-       drm_connector_helper_add(connector, &vkms_conn_helper_funcs);
+       drm_connector_helper_add(&connector->base, &vkms_conn_helper_funcs);
 
        return connector;
 }
index beb5ebe09155475d03389819a8455febcd828a12..c9149c1b7af0c001adac080db70248e596a5cf30 100644 (file)
@@ -5,6 +5,15 @@
 
 #include "vkms_drv.h"
 
+/**
+ * struct vkms_connector - VKMS custom type wrapping around the DRM connector
+ *
+ * @drm: Base DRM connector
+ */
+struct vkms_connector {
+       struct drm_connector base;
+};
+
 /**
  * vkms_connector_init() - Initialize a connector
  * @vkmsdev: VKMS device containing the connector
@@ -12,6 +21,6 @@
  * Returns:
  * The connector or an error on failure.
  */
-struct drm_connector *vkms_connector_init(struct vkms_device *vkmsdev);
+struct vkms_connector *vkms_connector_init(struct vkms_device *vkmsdev);
 
 #endif /* _VKMS_CONNECTOR_H_ */
index b01c3e9289d0bb299b1d43446cb63a9249c4a650..4b5abe159addc788671467e77fd0c36c3cbb5a80 100644 (file)
@@ -7,7 +7,7 @@
 int vkms_output_init(struct vkms_device *vkmsdev)
 {
        struct drm_device *dev = &vkmsdev->drm;
-       struct drm_connector *connector;
+       struct vkms_connector *connector;
        struct drm_encoder *encoder;
        struct vkms_output *output;
        struct vkms_plane *primary, *overlay, *cursor = NULL;
@@ -69,7 +69,7 @@ int vkms_output_init(struct vkms_device *vkmsdev)
        encoder->possible_crtcs = drm_crtc_mask(&output->crtc);
 
        /* Attach the encoder and the connector */
-       ret = drm_connector_attach_encoder(connector, encoder);
+       ret = drm_connector_attach_encoder(&connector->base, encoder);
        if (ret) {
                DRM_ERROR("Failed to attach connector to encoder\n");
                return ret;