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 <[email protected]>
---
 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 <[email protected]>

Reply via email to