Hi Thomas, First of all, thanks for your patch! I applied all your series, compiled it, and when I tried `make INSTALL_MOD_PATH=/PATH/ modules_instal` I got the following message: depmod: ERROR: Cycle detected: drm_kms_helper -> drm -> drm_kms_helper depmod: ERROR: Found 2 modules in dependency cycles! make: *** [Makefile:1317: _modinst_post] Error 1 I cleaned up my local files and tried again, but I got the same error; If I just use `drm-misc-next` everything is fine. Did I miss something? Thanks On 03/05, Thomas Zimmermann wrote: > The vkms driver uses an empty implementation for its encoder. Replace > the code with the generic simple encoder. > > Signed-off-by: Thomas Zimmermann > --- > drivers/gpu/drm/vkms/vkms_output.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/vkms/vkms_output.c b/drivers/gpu/drm/vkms/vkms_output.c > index fb1941a6522c..85afb77e97f0 100644 > --- a/drivers/gpu/drm/vkms/vkms_output.c > +++ b/drivers/gpu/drm/vkms/vkms_output.c > @@ -3,6 +3,7 @@ > #include "vkms_drv.h" > #include > #include > +#include > > static void vkms_connector_destroy(struct drm_connector *connector) > { > @@ -17,10 +18,6 @@ static const struct drm_connector_funcs vkms_connector_funcs = { > .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, > }; > > -static const struct drm_encoder_funcs vkms_encoder_funcs = { > - .destroy = drm_encoder_cleanup, > -}; > - > static int vkms_conn_get_modes(struct drm_connector *connector) > { > int count; > @@ -70,8 +67,7 @@ int vkms_output_init(struct vkms_device *vkmsdev, int index) > > drm_connector_helper_add(connector, &vkms_conn_helper_funcs); > > - ret = drm_encoder_init(dev, encoder, &vkms_encoder_funcs, > - DRM_MODE_ENCODER_VIRTUAL, NULL); > + ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_VIRTUAL); > if (ret) { > DRM_ERROR("Failed to init encoder\n"); > goto err_encoder; > -- > 2.25.1 > -- Rodrigo Siqueira https://siqueira.tech