[PATCH] drm/tegra: hdmi: Open-code drm_simple_encoder_init()
From: Souradipto Das
Date: Sat May 02 2026 - 10:34:45 EST
The helper drm_simple_encoder_init() is a trivial wrapper around
drm_encoder_init() that only provides a static drm_encoder_funcs with
.destroy set to drm_encoder_cleanup(). Open-code the initialization
with a driver-specific instance of drm_encoder_funcs and remove the
dependency on drm_simple_kms_helper.
Suggested-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
Signed-off-by: Souradipto Das <souradiptodas6@xxxxxxxxx>
---
drivers/gpu/drm/tegra/hdmi.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c
index 0adcd4244a42..a45c19d1631b 100644
--- a/drivers/gpu/drm/tegra/hdmi.c
+++ b/drivers/gpu/drm/tegra/hdmi.c
@@ -25,12 +25,13 @@
#include <drm/drm_crtc.h>
#include <drm/drm_debugfs.h>
#include <drm/drm_edid.h>
+#include <drm/drm_encoder.h>
#include <drm/drm_eld.h>
#include <drm/drm_file.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_print.h>
#include <drm/drm_probe_helper.h>
-#include <drm/drm_simple_kms_helper.h>
+
#include "hda.h"
#include "hdmi.h"
@@ -371,6 +372,9 @@ static const struct tmds_config tegra124_tmds_config[] = {
PEAK_CURRENT_LANE3(PEAK_CURRENT_0_800_mA),
},
};
+static const struct drm_encoder_funcs tegra_hdmi_encoder_funcs = {
+ .destroy = drm_encoder_cleanup,
+};
static void tegra_hdmi_audio_lock(struct tegra_hdmi *hdmi)
{
@@ -1555,8 +1559,8 @@ static int tegra_hdmi_init(struct host1x_client *client)
hdmi->output.dev = client->dev;
- drm_simple_encoder_init(drm, &hdmi->output.encoder,
- DRM_MODE_ENCODER_TMDS);
+ drm_encoder_init(drm, &hdmi->output.encoder, &tegra_hdmi_encoder_funcs,
+ DRM_MODE_ENCODER_TMDS, NULL);
drm_encoder_helper_add(&hdmi->output.encoder,
&tegra_hdmi_encoder_helper_funcs);
--
2.43.0