This commit inlines the function drm_simple_encoder_init for the meson
driver. It replaces the simple encoder init call with drm_encoder_init
and a custom cleanup struct.

Signed-off-by: Liam Zuiderhoek <[email protected]>
---
 drivers/gpu/drm/meson/meson_encoder_hdmi.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/meson/meson_encoder_hdmi.c 
b/drivers/gpu/drm/meson/meson_encoder_hdmi.c
index 55c0601df3c6..0dd3a76ad959 100644
--- a/drivers/gpu/drm/meson/meson_encoder_hdmi.c
+++ b/drivers/gpu/drm/meson/meson_encoder_hdmi.c
@@ -44,6 +44,10 @@ struct meson_encoder_hdmi {
        struct cec_notifier *cec_notifier;
 };
 
+static const struct drm_encoder_funcs drm_simple_encoder_funcs_cleanup = {
+       .destroy = drm_encoder_cleanup,
+};
+
 #define bridge_to_meson_encoder_hdmi(x) \
        container_of(x, struct meson_encoder_hdmi, bridge)
 
@@ -407,8 +411,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,
+                              &drm_simple_encoder_funcs_cleanup,
+                              DRM_MODE_ENCODER_TMDS, NULL);
        if (ret) {
                dev_err_probe(priv->dev, ret, "Failed to init HDMI encoder\n");
                goto err_put_node;
-- 
2.43.0

Reply via email to