diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2017-07-04 11:18:22 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2017-07-06 04:00:33 -0400 |
commit | 666b7cdc69b03cb55266a14aa5874af0d27bfb0f (patch) | |
tree | e1b42493b22c6c2b8c1682e48cc718cefa2421b3 /drivers/gpu/drm/i915/intel_dp_mst.c | |
parent | af2405af07d168e2905f2ac9494d3a804a549f0f (diff) |
drm/i915: Drop FBDEV #ifdev in mst code
Since
commit a03fdcb1863297481a4b817c2a759cafcbdfa0ae
Author: Archit Taneja <architt@codeaurora.org>
Date: Wed Aug 5 12:28:57 2015 +0530
drm: Add top level Kconfig option for DRM fbdev emulation
this is properly handled using dummy functions. This essentially
undoes
commit 7296c849bf2eca2bd7d34a4686a53e3089150ac1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue Jul 22 20:10:28 2014 +1000
drm/i915: fix build without fbde
v2: We also need to drop the #ifdef from headers. Seems like a small
price to pay for slightly cleaner code.
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170704151833.17304-3-daniel.vetter@ffwll.ch
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp_mst.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp_mst.c | 38 |
1 files changed, 10 insertions, 28 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index 9aa959284497..e4ea968b1d6b 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c | |||
@@ -443,28 +443,6 @@ static bool intel_dp_mst_get_hw_state(struct intel_connector *connector) | |||
443 | return false; | 443 | return false; |
444 | } | 444 | } |
445 | 445 | ||
446 | static void intel_connector_add_to_fbdev(struct intel_connector *connector) | ||
447 | { | ||
448 | #ifdef CONFIG_DRM_FBDEV_EMULATION | ||
449 | struct drm_i915_private *dev_priv = to_i915(connector->base.dev); | ||
450 | |||
451 | if (dev_priv->fbdev) | ||
452 | drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, | ||
453 | &connector->base); | ||
454 | #endif | ||
455 | } | ||
456 | |||
457 | static void intel_connector_remove_from_fbdev(struct intel_connector *connector) | ||
458 | { | ||
459 | #ifdef CONFIG_DRM_FBDEV_EMULATION | ||
460 | struct drm_i915_private *dev_priv = to_i915(connector->base.dev); | ||
461 | |||
462 | if (dev_priv->fbdev) | ||
463 | drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, | ||
464 | &connector->base); | ||
465 | #endif | ||
466 | } | ||
467 | |||
468 | static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, const char *pathprop) | 446 | static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, const char *pathprop) |
469 | { | 447 | { |
470 | struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr); | 448 | struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr); |
@@ -500,28 +478,32 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo | |||
500 | 478 | ||
501 | static void intel_dp_register_mst_connector(struct drm_connector *connector) | 479 | static void intel_dp_register_mst_connector(struct drm_connector *connector) |
502 | { | 480 | { |
503 | struct intel_connector *intel_connector = to_intel_connector(connector); | 481 | struct drm_i915_private *dev_priv = to_i915(connector->dev); |
504 | 482 | ||
505 | intel_connector_add_to_fbdev(intel_connector); | 483 | if (dev_priv->fbdev) |
484 | drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, | ||
485 | connector); | ||
506 | 486 | ||
507 | drm_connector_register(&intel_connector->base); | 487 | drm_connector_register(connector); |
508 | } | 488 | } |
509 | 489 | ||
510 | static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, | 490 | static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, |
511 | struct drm_connector *connector) | 491 | struct drm_connector *connector) |
512 | { | 492 | { |
513 | struct intel_connector *intel_connector = to_intel_connector(connector); | 493 | struct intel_connector *intel_connector = to_intel_connector(connector); |
494 | struct drm_i915_private *dev_priv = to_i915(connector->dev); | ||
514 | 495 | ||
515 | drm_connector_unregister(connector); | 496 | drm_connector_unregister(connector); |
516 | 497 | ||
517 | /* need to nuke the connector */ | 498 | if (dev_priv->fbdev) |
518 | intel_connector_remove_from_fbdev(intel_connector); | 499 | drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, |
500 | connector); | ||
519 | /* prevent race with the check in ->detect */ | 501 | /* prevent race with the check in ->detect */ |
520 | drm_modeset_lock(&connector->dev->mode_config.connection_mutex, NULL); | 502 | drm_modeset_lock(&connector->dev->mode_config.connection_mutex, NULL); |
521 | intel_connector->mst_port = NULL; | 503 | intel_connector->mst_port = NULL; |
522 | drm_modeset_unlock(&connector->dev->mode_config.connection_mutex); | 504 | drm_modeset_unlock(&connector->dev->mode_config.connection_mutex); |
523 | 505 | ||
524 | drm_connector_unreference(&intel_connector->base); | 506 | drm_connector_unreference(connector); |
525 | DRM_DEBUG_KMS("\n"); | 507 | DRM_DEBUG_KMS("\n"); |
526 | } | 508 | } |
527 | 509 | ||