The helper drm_simple_encoder_init() is a thin wrapper around drm_encoder_init() with a simple destroy-only encoder funcs struct. Remove the dependency on drm_simple_kms_helper by open-coding the encoder initialization directly in the driver.
Signed-off-by: Naman Arora <[email protected]> --- drivers/gpu/drm/meson/meson_encoder_hdmi.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/meson/meson_encoder_hdmi.c b/drivers/gpu/drm/meson/meson_encoder_hdmi.c index 1abb0572b..0a0ec34e3 100644 --- a/drivers/gpu/drm/meson/meson_encoder_hdmi.c +++ b/drivers/gpu/drm/meson/meson_encoder_hdmi.c @@ -24,7 +24,6 @@ #include <drm/drm_device.h> #include <drm/drm_edid.h> #include <drm/drm_probe_helper.h> -#include <drm/drm_simple_kms_helper.h> #include <linux/media-bus-format.h> #include <linux/videodev2.h> @@ -369,6 +368,10 @@ static const struct drm_bridge_funcs meson_encoder_hdmi_bridge_funcs = { .atomic_reset = drm_atomic_helper_bridge_reset, }; +static const struct drm_encoder_funcs meson_encoder_hdmi_drm_encoder_funcs = { + .destroy = drm_encoder_cleanup, +}; + int meson_encoder_hdmi_probe(struct meson_drm *priv) { struct meson_encoder_hdmi *meson_encoder_hdmi; @@ -407,8 +410,9 @@ int meson_encoder_hdmi_probe(struct meson_drm *priv) meson_encoder_hdmi->priv = priv; /* Encoder */ - ret = drm_simple_encoder_init(priv->drm, &meson_encoder_hdmi->encoder, - DRM_MODE_ENCODER_TMDS); + ret = drm_encoder_init(priv->drm, &meson_encoder_hdmi->encoder, + &meson_encoder_hdmi_drm_encoder_funcs, + DRM_MODE_ENCODER_TMDS, NULL); if (ret) { dev_err_probe(priv->dev, ret, "Failed to init HDMI encoder\n"); goto err_put_node; -- 2.20.1
