In preparation to add support for the HDMI 2.1 Quad-Pixel TX Controller and minimize code duplication, export dw_hdmi_connector_create() function, while adding a new parameter to allow using a different drm_connector_funcs structure. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@xxxxxxxxxxxxx> --- drivers/gpu/drm/bridge/synopsys/dw-hdmi-common.h | 2 ++ drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-common.h b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-common.h index 5fb65db4aaea..512fbaa1bb0c 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-common.h +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-common.h @@ -161,6 +161,8 @@ void dw_hdmi_prep_data(struct dw_hdmi *hdmi, enum drm_connector_status dw_hdmi_connector_detect(struct drm_connector *connector, bool force); +int dw_hdmi_connector_create(struct dw_hdmi *hdmi, + const struct drm_connector_funcs *funcs); int dw_hdmi_bridge_atomic_check(struct drm_bridge *bridge, struct drm_bridge_state *bridge_state, diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index d124c781da20..95c9ccb809ec 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2469,7 +2469,8 @@ static const struct drm_connector_helper_funcs dw_hdmi_connector_helper_funcs = .atomic_check = dw_hdmi_connector_atomic_check, }; -static int dw_hdmi_connector_create(struct dw_hdmi *hdmi) +int dw_hdmi_connector_create(struct dw_hdmi *hdmi, + const struct drm_connector_funcs *funcs) { struct drm_connector *connector = &hdmi->connector; struct cec_connector_info conn_info; @@ -2487,7 +2488,7 @@ static int dw_hdmi_connector_create(struct dw_hdmi *hdmi) drm_connector_helper_add(connector, &dw_hdmi_connector_helper_funcs); drm_connector_init_with_ddc(hdmi->bridge.dev, connector, - &dw_hdmi_connector_funcs, + funcs ? funcs : &dw_hdmi_connector_funcs, DRM_MODE_CONNECTOR_HDMIA, hdmi->ddc); @@ -2516,6 +2517,7 @@ static int dw_hdmi_connector_create(struct dw_hdmi *hdmi) return 0; } +EXPORT_SYMBOL_GPL(dw_hdmi_connector_create); /* ----------------------------------------------------------------------------- * DRM Bridge Operations @@ -2804,7 +2806,7 @@ static int dw_hdmi_bridge_attach(struct drm_bridge *bridge, return drm_bridge_attach(bridge->encoder, hdmi->next_bridge, bridge, flags); - return dw_hdmi_connector_create(hdmi); + return dw_hdmi_connector_create(hdmi, NULL); } void dw_hdmi_bridge_detach(struct drm_bridge *bridge) -- 2.45.0