[PATCH] drm/amdgpu_vkms: vkms: Remove dependency on DRM simple helpers

From: Diogo Silva

Date: Tue Jun 23 2026 - 16:54:47 EST


Simple KMS helper are deprecated since they only add an intermediate
layer between drivers and the atomic modesetting.
This patch removes the dependency on drm simple helpers from the
amdgpu_vkms DRM driver.

Signed-off-by: Diogo Silva <diogompaissilva@xxxxxxxxx>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
index 170adaf7e76a..14382d218747 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
@@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0+

#include <drm/drm_atomic_helper.h>
+#include <drm/drm_encoder.h>
#include <drm/drm_edid.h>
-#include <drm/drm_simple_kms_helper.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_vblank.h>
#include <drm/drm_vblank_helper.h>
@@ -316,6 +316,10 @@ static struct drm_plane *amdgpu_vkms_plane_init(struct drm_device *dev,
return plane;
}

+static const struct drm_encoder_funcs amdgpu_vkms_encoder_funcs = {
+ .destroy = drm_encoder_cleanup,
+};
+
static int amdgpu_vkms_output_init(struct drm_device *dev, struct
amdgpu_vkms_output *output, int index)
{
@@ -342,7 +346,8 @@ static int amdgpu_vkms_output_init(struct drm_device *dev, struct

drm_connector_helper_add(connector, &amdgpu_vkms_conn_helper_funcs);

- ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_VIRTUAL);
+ ret = drm_encoder_init(dev, encoder, &amdgpu_vkms_encoder_funcs,
+ DRM_MODE_ENCODER_VIRTUAL, NULL);
if (ret) {
DRM_ERROR("Failed to init encoder\n");
goto err_encoder;

---
base-commit: e2a6e04d045a56c6dc61e1eb9e2a6d7cf86512cd
change-id: 20260623-amd_simple-16a179f51f43

Best regards,
--
Diogo Silva <diogompaissilva@xxxxxxxxx>