summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/vkms/vkms_output.c
diff options
context:
space:
mode:
authorLouis Chauvet <louis.chauvet@bootlin.com>2025-01-17 10:04:27 +0100
committerLouis Chauvet <louis.chauvet@bootlin.com>2025-01-21 10:57:01 +0100
commitb0a76faea6b1492e480a69ef1a6cd19e30e7d60d (patch)
treed03bd2450abdd8b6273f4adbdd241c42b8715434 /drivers/gpu/drm/vkms/vkms_output.c
parent23fdf4308988b8aee2bb7cf8b77153f822d1fb3a (diff)
drm/vkms: Switch to dynamic allocation for connector
A specific allocation for the connector is not strictly necessary at this point, but in order to implement dynamic configuration of VKMS (configFS), it will be easier to have one allocation per connector. Reviewed-by: Maxime Ripard <mripard@kernel.org> Reviewed-by: José Expósito <jose.exposito89@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250117-b4-vkms-allocated-v4-1-8ec8fd21aaf6@bootlin.com Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
Diffstat (limited to 'drivers/gpu/drm/vkms/vkms_output.c')
-rw-r--r--drivers/gpu/drm/vkms/vkms_output.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/vkms/vkms_output.c b/drivers/gpu/drm/vkms/vkms_output.c
index de817e279486..a41d7a29a377 100644
--- a/drivers/gpu/drm/vkms/vkms_output.c
+++ b/drivers/gpu/drm/vkms/vkms_output.c
@@ -32,7 +32,7 @@ int vkms_output_init(struct vkms_device *vkmsdev)
{
struct vkms_output *output = &vkmsdev->output;
struct drm_device *dev = &vkmsdev->drm;
- struct drm_connector *connector = &output->connector;
+ struct drm_connector *connector;
struct drm_encoder *encoder = &output->encoder;
struct drm_crtc *crtc = &output->crtc;
struct vkms_plane *primary, *overlay, *cursor = NULL;
@@ -71,6 +71,12 @@ int vkms_output_init(struct vkms_device *vkmsdev)
}
}
+ connector = drmm_kzalloc(dev, sizeof(*connector), GFP_KERNEL);
+ if (!connector) {
+ DRM_ERROR("Failed to allocate connector\n");
+ return -ENOMEM;
+ }
+
ret = drmm_connector_init(dev, connector, &vkms_connector_funcs,
DRM_MODE_CONNECTOR_VIRTUAL, NULL);
if (ret) {