Skip to content

Commit 52c5dd2

Browse files
pinchartltomba
authored andcommitted
drm/omap: Determine connector type directly in omap_connector.c
Instead of determining the connector type from the type of the display's omap_dss_device and passing it to the omap_connector_init() function, move the type determination code to omap_connector.c and remove the type argument to the connector init function. This moves code to a more natural location, making the driver easier to read. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
1 parent 47a3ee2 commit 52c5dd2

File tree

3 files changed

+31
-30
lines changed

3 files changed

+31
-30
lines changed

drivers/gpu/drm/omapdrm/omap_connector.c

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -325,10 +325,33 @@ static const struct drm_connector_helper_funcs omap_connector_helper_funcs = {
325325
.mode_valid = omap_connector_mode_valid,
326326
};
327327

328+
static int omap_connector_get_type(struct omap_dss_device *display)
329+
{
330+
switch (display->type) {
331+
case OMAP_DISPLAY_TYPE_HDMI:
332+
return DRM_MODE_CONNECTOR_HDMIA;
333+
case OMAP_DISPLAY_TYPE_DVI:
334+
return DRM_MODE_CONNECTOR_DVID;
335+
case OMAP_DISPLAY_TYPE_DSI:
336+
return DRM_MODE_CONNECTOR_DSI;
337+
case OMAP_DISPLAY_TYPE_DPI:
338+
case OMAP_DISPLAY_TYPE_DBI:
339+
return DRM_MODE_CONNECTOR_DPI;
340+
case OMAP_DISPLAY_TYPE_VENC:
341+
/* TODO: This could also be composite */
342+
return DRM_MODE_CONNECTOR_SVIDEO;
343+
case OMAP_DISPLAY_TYPE_SDI:
344+
return DRM_MODE_CONNECTOR_LVDS;
345+
default:
346+
return DRM_MODE_CONNECTOR_Unknown;
347+
}
348+
}
349+
328350
/* initialize connector */
329351
struct drm_connector *omap_connector_init(struct drm_device *dev,
330-
int connector_type, struct omap_dss_device *output,
331-
struct omap_dss_device *display, struct drm_encoder *encoder)
352+
struct omap_dss_device *output,
353+
struct omap_dss_device *display,
354+
struct drm_encoder *encoder)
332355
{
333356
struct drm_connector *connector = NULL;
334357
struct omap_connector *omap_connector;
@@ -348,7 +371,7 @@ struct drm_connector *omap_connector_init(struct drm_device *dev,
348371
connector->doublescan_allowed = 0;
349372

350373
drm_connector_init(dev, connector, &omap_connector_funcs,
351-
connector_type);
374+
omap_connector_get_type(display));
352375
drm_connector_helper_add(connector, &omap_connector_helper_funcs);
353376

354377
/*

drivers/gpu/drm/omapdrm/omap_connector.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ struct drm_encoder;
2828
struct omap_dss_device;
2929

3030
struct drm_connector *omap_connector_init(struct drm_device *dev,
31-
int connector_type, struct omap_dss_device *output,
32-
struct omap_dss_device *display, struct drm_encoder *encoder);
31+
struct omap_dss_device *output,
32+
struct omap_dss_device *display,
33+
struct drm_encoder *encoder);
3334
struct drm_encoder *omap_connector_attached_encoder(
3435
struct drm_connector *connector);
3536
bool omap_connector_get_hdmi_mode(struct drm_connector *connector);

drivers/gpu/drm/omapdrm/omap_drv.c

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -129,28 +129,6 @@ static const struct drm_mode_config_funcs omap_mode_config_funcs = {
129129
.atomic_commit = drm_atomic_helper_commit,
130130
};
131131

132-
static int get_connector_type(struct omap_dss_device *display)
133-
{
134-
switch (display->type) {
135-
case OMAP_DISPLAY_TYPE_HDMI:
136-
return DRM_MODE_CONNECTOR_HDMIA;
137-
case OMAP_DISPLAY_TYPE_DVI:
138-
return DRM_MODE_CONNECTOR_DVID;
139-
case OMAP_DISPLAY_TYPE_DSI:
140-
return DRM_MODE_CONNECTOR_DSI;
141-
case OMAP_DISPLAY_TYPE_DPI:
142-
case OMAP_DISPLAY_TYPE_DBI:
143-
return DRM_MODE_CONNECTOR_DPI;
144-
case OMAP_DISPLAY_TYPE_VENC:
145-
/* TODO: This could also be composite */
146-
return DRM_MODE_CONNECTOR_SVIDEO;
147-
case OMAP_DISPLAY_TYPE_SDI:
148-
return DRM_MODE_CONNECTOR_LVDS;
149-
default:
150-
return DRM_MODE_CONNECTOR_Unknown;
151-
}
152-
}
153-
154132
static void omap_disconnect_pipelines(struct drm_device *ddev)
155133
{
156134
struct omap_drm_private *priv = ddev->dev_private;
@@ -322,9 +300,8 @@ static int omap_modeset_init(struct drm_device *dev)
322300
if (!encoder)
323301
return -ENOMEM;
324302

325-
connector = omap_connector_init(dev,
326-
get_connector_type(display), pipe->output,
327-
display, encoder);
303+
connector = omap_connector_init(dev, pipe->output, display,
304+
encoder);
328305
if (!connector)
329306
return -ENOMEM;
330307

0 commit comments

Comments
 (0)