aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-07-22 06:10:28 -0400
committerDave Airlie <airlied@gmail.com>2014-07-22 06:11:29 -0400
commit7296c849bf2eca2bd7d34a4686a53e3089150ac1 (patch)
tree00f38869e9ddc02c519e68a841c36d77c98c3373
parent4133d018039637a066b0fee9bcaff214e7d2e051 (diff)
drm/i915: fix build without fbdev.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/i915/intel_dp_mst.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index ec48d562c7fc..d9a7a7865f66 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -377,12 +377,27 @@ static bool intel_dp_mst_get_hw_state(struct intel_connector *connector)
377 return false; 377 return false;
378} 378}
379 379
380static void intel_connector_add_to_fbdev(struct intel_connector *connector)
381{
382#ifdef CONFIG_DRM_I915_FBDEV
383 struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
384 drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, &connector->base);
385#endif
386}
387
388static void intel_connector_remove_from_fbdev(struct intel_connector *connector)
389{
390#ifdef CONFIG_DRM_I915_FBDEV
391 struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
392 drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, &connector->base);
393#endif
394}
395
380static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, char *pathprop) 396static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, char *pathprop)
381{ 397{
382 struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr); 398 struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr);
383 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); 399 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
384 struct drm_device *dev = intel_dig_port->base.base.dev; 400 struct drm_device *dev = intel_dig_port->base.base.dev;
385 struct drm_i915_private *dev_priv = dev->dev_private;
386 struct intel_connector *intel_connector; 401 struct intel_connector *intel_connector;
387 struct drm_connector *connector; 402 struct drm_connector *connector;
388 int i; 403 int i;
@@ -410,7 +425,7 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo
410 drm_mode_connector_set_path_property(connector, pathprop); 425 drm_mode_connector_set_path_property(connector, pathprop);
411 drm_reinit_primary_mode_group(dev); 426 drm_reinit_primary_mode_group(dev);
412 mutex_lock(&dev->mode_config.mutex); 427 mutex_lock(&dev->mode_config.mutex);
413 drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, connector); 428 intel_connector_add_to_fbdev(intel_connector);
414 mutex_unlock(&dev->mode_config.mutex); 429 mutex_unlock(&dev->mode_config.mutex);
415 drm_connector_register(&intel_connector->base); 430 drm_connector_register(&intel_connector->base);
416 return connector; 431 return connector;
@@ -421,7 +436,6 @@ static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr,
421{ 436{
422 struct intel_connector *intel_connector = to_intel_connector(connector); 437 struct intel_connector *intel_connector = to_intel_connector(connector);
423 struct drm_device *dev = connector->dev; 438 struct drm_device *dev = connector->dev;
424 struct drm_i915_private *dev_priv = dev->dev_private;
425 /* need to nuke the connector */ 439 /* need to nuke the connector */
426 mutex_lock(&dev->mode_config.mutex); 440 mutex_lock(&dev->mode_config.mutex);
427 intel_connector_dpms(connector, DRM_MODE_DPMS_OFF); 441 intel_connector_dpms(connector, DRM_MODE_DPMS_OFF);
@@ -430,7 +444,7 @@ static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr,
430 intel_connector->unregister(intel_connector); 444 intel_connector->unregister(intel_connector);
431 445
432 mutex_lock(&dev->mode_config.mutex); 446 mutex_lock(&dev->mode_config.mutex);
433 drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, connector); 447 intel_connector_remove_from_fbdev(intel_connector);
434 drm_connector_cleanup(connector); 448 drm_connector_cleanup(connector);
435 mutex_unlock(&dev->mode_config.mutex); 449 mutex_unlock(&dev->mode_config.mutex);
436 450