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 <[email protected]> Signed-off-by: Souradipto Das <[email protected]> --- 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
