Hi Sam, On 6/1/24 5:32 PM, Sam Ravnborg wrote: > Hi Cristian, > > a few drive-by comments below. > > Sam > > >> + >> +static const struct drm_connector_funcs dw_hdmi_qp_connector_funcs = { >> + .fill_modes = drm_helper_probe_single_connector_modes, >> + .detect = dw_hdmi_connector_detect, >> + .destroy = drm_connector_cleanup, >> + .force = dw_hdmi_qp_connector_force, >> + .reset = drm_atomic_helper_connector_reset, >> + .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, >> + .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, >> +}; >> + >> +static int dw_hdmi_qp_bridge_attach(struct drm_bridge *bridge, >> + enum drm_bridge_attach_flags flags) >> +{ >> + struct dw_hdmi *hdmi = bridge->driver_private; >> + >> + if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR) >> + return drm_bridge_attach(bridge->encoder, hdmi->next_bridge, >> + bridge, flags); >> + >> + return dw_hdmi_connector_create(hdmi, &dw_hdmi_qp_connector_funcs); >> +} > > Are there any users left that requires the display driver to create the > connector? > In other words - could this driver fail if DRM_BRIDGE_ATTACH_NO_CONNECTOR > is not passed and drop dw_hdmi_connector_create()? > > I did not try to verify this - just a naive question. I've just tested this and it doesn't work - dw_hdmi_connector_create() is still needed. Regards, Cristian