diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-06-05 17:31:57 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2018-09-03 09:13:29 -0400 |
commit | 52c5dd2a7bed1610a37f89aeb4f73ad8fbba05fc (patch) | |
tree | 207d6fc7daedc7e1ad05b7be913fce5d40a86974 /drivers/gpu/drm/omapdrm/omap_connector.c | |
parent | 47a3ee27934a7a774be4aa1733c662f33e1ae656 (diff) |
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>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_connector.c')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_connector.c | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c index 92fea0085a9c..06c48a64b745 100644 --- a/drivers/gpu/drm/omapdrm/omap_connector.c +++ b/drivers/gpu/drm/omapdrm/omap_connector.c | |||
@@ -325,10 +325,33 @@ static const struct drm_connector_helper_funcs omap_connector_helper_funcs = { | |||
325 | .mode_valid = omap_connector_mode_valid, | 325 | .mode_valid = omap_connector_mode_valid, |
326 | }; | 326 | }; |
327 | 327 | ||
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 | |||
328 | /* initialize connector */ | 350 | /* initialize connector */ |
329 | struct drm_connector *omap_connector_init(struct drm_device *dev, | 351 | struct drm_connector *omap_connector_init(struct drm_device *dev, |
330 | int connector_type, struct omap_dss_device *output, | 352 | struct omap_dss_device *output, |
331 | struct omap_dss_device *display, struct drm_encoder *encoder) | 353 | struct omap_dss_device *display, |
354 | struct drm_encoder *encoder) | ||
332 | { | 355 | { |
333 | struct drm_connector *connector = NULL; | 356 | struct drm_connector *connector = NULL; |
334 | struct omap_connector *omap_connector; | 357 | struct omap_connector *omap_connector; |
@@ -348,7 +371,7 @@ struct drm_connector *omap_connector_init(struct drm_device *dev, | |||
348 | connector->doublescan_allowed = 0; | 371 | connector->doublescan_allowed = 0; |
349 | 372 | ||
350 | drm_connector_init(dev, connector, &omap_connector_funcs, | 373 | drm_connector_init(dev, connector, &omap_connector_funcs, |
351 | connector_type); | 374 | omap_connector_get_type(display)); |
352 | drm_connector_helper_add(connector, &omap_connector_helper_funcs); | 375 | drm_connector_helper_add(connector, &omap_connector_helper_funcs); |
353 | 376 | ||
354 | /* | 377 | /* |