aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2016-11-29 15:56:30 -0500
committerSean Paul <seanpaul@chromium.org>2016-12-01 10:05:53 -0500
commit949f08862d662f17b9d2929c6afb2d4e8f5d50cb (patch)
treeaf689aba55858b8933860832055dafc7c76864ab
parent87291e5dbae94da1ddd3966272e0d7d6dc7232f1 (diff)
drm: Make the connector .detect() callback optional
Many drivers (21 to be exact) create connectors that are always connected (for instance to an LVDS or DSI panel). Instead of forcing them to implement a dummy .detect() handler, make the callback optional and consider the connector as always connected in that case. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Jyri Sarha <jsarha@ti.com> Acked-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Acked-by: Vincent Abriou <vincent.abriou@st.com> Acked-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> [seanpaul fixed small conflict in rcar-du/rcar_du_lvdscon.c] Signed-off-by: Sean Paul <seanpaul@chromium.org>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/dce_virtual.c7
-rw-r--r--drivers/gpu/drm/arc/arcpgu_sim.c7
-rw-r--r--drivers/gpu/drm/ast/ast_mode.c7
-rw-r--r--drivers/gpu/drm/bochs/bochs_kms.c7
-rw-r--r--drivers/gpu/drm/bridge/nxp-ptn3460.c7
-rw-r--r--drivers/gpu/drm/bridge/parade-ps8622.c7
-rw-r--r--drivers/gpu/drm/bridge/tc358767.c7
-rw-r--r--drivers/gpu/drm/cirrus/cirrus_mode.c7
-rw-r--r--drivers/gpu/drm/drm_probe_helper.c14
-rw-r--r--drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c7
-rw-r--r--drivers/gpu/drm/gma500/cdv_intel_lvds.c14
-rw-r--r--drivers/gpu/drm/gma500/psb_intel_lvds.c14
-rw-r--r--drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c7
-rw-r--r--drivers/gpu/drm/i915/intel_dsi.c7
-rw-r--r--drivers/gpu/drm/imx/imx-ldb.c7
-rw-r--r--drivers/gpu/drm/imx/imx-tve.c7
-rw-r--r--drivers/gpu/drm/imx/parallel-display.c7
-rw-r--r--drivers/gpu/drm/mediatek/mtk_dsi.c7
-rw-r--r--drivers/gpu/drm/mgag200/mgag200_mode.c7
-rw-r--r--drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c7
-rw-r--r--drivers/gpu/drm/rockchip/dw-mipi-dsi.c7
-rw-r--r--drivers/gpu/drm/shmobile/shmob_drm_crtc.c7
-rw-r--r--drivers/gpu/drm/sti/sti_hda.c7
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_rgb.c7
-rw-r--r--drivers/gpu/drm/sun4i/sun4i_tv.c7
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_panel.c8
-rw-r--r--include/drm/drm_connector.h3
27 files changed, 14 insertions, 193 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
index 81cbf0b05dff..1d93e123532d 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
@@ -429,12 +429,6 @@ dce_virtual_dpms(struct drm_connector *connector, int mode)
429 return 0; 429 return 0;
430} 430}
431 431
432static enum drm_connector_status
433dce_virtual_detect(struct drm_connector *connector, bool force)
434{
435 return connector_status_connected;
436}
437
438static int 432static int
439dce_virtual_set_property(struct drm_connector *connector, 433dce_virtual_set_property(struct drm_connector *connector,
440 struct drm_property *property, 434 struct drm_property *property,
@@ -463,7 +457,6 @@ static const struct drm_connector_helper_funcs dce_virtual_connector_helper_func
463 457
464static const struct drm_connector_funcs dce_virtual_connector_funcs = { 458static const struct drm_connector_funcs dce_virtual_connector_funcs = {
465 .dpms = dce_virtual_dpms, 459 .dpms = dce_virtual_dpms,
466 .detect = dce_virtual_detect,
467 .fill_modes = drm_helper_probe_single_connector_modes, 460 .fill_modes = drm_helper_probe_single_connector_modes,
468 .set_property = dce_virtual_set_property, 461 .set_property = dce_virtual_set_property,
469 .destroy = dce_virtual_destroy, 462 .destroy = dce_virtual_destroy,
diff --git a/drivers/gpu/drm/arc/arcpgu_sim.c b/drivers/gpu/drm/arc/arcpgu_sim.c
index 2bf06d71556a..bca3a678c955 100644
--- a/drivers/gpu/drm/arc/arcpgu_sim.c
+++ b/drivers/gpu/drm/arc/arcpgu_sim.c
@@ -41,12 +41,6 @@ static int arcpgu_drm_connector_get_modes(struct drm_connector *connector)
41 return count; 41 return count;
42} 42}
43 43
44static enum drm_connector_status
45arcpgu_drm_connector_detect(struct drm_connector *connector, bool force)
46{
47 return connector_status_connected;
48}
49
50static void arcpgu_drm_connector_destroy(struct drm_connector *connector) 44static void arcpgu_drm_connector_destroy(struct drm_connector *connector)
51{ 45{
52 drm_connector_unregister(connector); 46 drm_connector_unregister(connector);
@@ -61,7 +55,6 @@ arcpgu_drm_connector_helper_funcs = {
61static const struct drm_connector_funcs arcpgu_drm_connector_funcs = { 55static const struct drm_connector_funcs arcpgu_drm_connector_funcs = {
62 .dpms = drm_helper_connector_dpms, 56 .dpms = drm_helper_connector_dpms,
63 .reset = drm_atomic_helper_connector_reset, 57 .reset = drm_atomic_helper_connector_reset,
64 .detect = arcpgu_drm_connector_detect,
65 .fill_modes = drm_helper_probe_single_connector_modes, 58 .fill_modes = drm_helper_probe_single_connector_modes,
66 .destroy = arcpgu_drm_connector_destroy, 59 .destroy = arcpgu_drm_connector_destroy,
67 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 60 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
index 5957c3e659fe..e26c98f51eb4 100644
--- a/drivers/gpu/drm/ast/ast_mode.c
+++ b/drivers/gpu/drm/ast/ast_mode.c
@@ -839,12 +839,6 @@ static void ast_connector_destroy(struct drm_connector *connector)
839 kfree(connector); 839 kfree(connector);
840} 840}
841 841
842static enum drm_connector_status
843ast_connector_detect(struct drm_connector *connector, bool force)
844{
845 return connector_status_connected;
846}
847
848static const struct drm_connector_helper_funcs ast_connector_helper_funcs = { 842static const struct drm_connector_helper_funcs ast_connector_helper_funcs = {
849 .mode_valid = ast_mode_valid, 843 .mode_valid = ast_mode_valid,
850 .get_modes = ast_get_modes, 844 .get_modes = ast_get_modes,
@@ -853,7 +847,6 @@ static const struct drm_connector_helper_funcs ast_connector_helper_funcs = {
853 847
854static const struct drm_connector_funcs ast_connector_funcs = { 848static const struct drm_connector_funcs ast_connector_funcs = {
855 .dpms = drm_helper_connector_dpms, 849 .dpms = drm_helper_connector_dpms,
856 .detect = ast_connector_detect,
857 .fill_modes = drm_helper_probe_single_connector_modes, 850 .fill_modes = drm_helper_probe_single_connector_modes,
858 .destroy = ast_connector_destroy, 851 .destroy = ast_connector_destroy,
859}; 852};
diff --git a/drivers/gpu/drm/bochs/bochs_kms.c b/drivers/gpu/drm/bochs/bochs_kms.c
index 0b4e5d117043..d5e63eff357b 100644
--- a/drivers/gpu/drm/bochs/bochs_kms.c
+++ b/drivers/gpu/drm/bochs/bochs_kms.c
@@ -216,12 +216,6 @@ bochs_connector_best_encoder(struct drm_connector *connector)
216 return NULL; 216 return NULL;
217} 217}
218 218
219static enum drm_connector_status bochs_connector_detect(struct drm_connector
220 *connector, bool force)
221{
222 return connector_status_connected;
223}
224
225static const struct drm_connector_helper_funcs bochs_connector_connector_helper_funcs = { 219static const struct drm_connector_helper_funcs bochs_connector_connector_helper_funcs = {
226 .get_modes = bochs_connector_get_modes, 220 .get_modes = bochs_connector_get_modes,
227 .mode_valid = bochs_connector_mode_valid, 221 .mode_valid = bochs_connector_mode_valid,
@@ -230,7 +224,6 @@ static const struct drm_connector_helper_funcs bochs_connector_connector_helper_
230 224
231static const struct drm_connector_funcs bochs_connector_connector_funcs = { 225static const struct drm_connector_funcs bochs_connector_connector_funcs = {
232 .dpms = drm_helper_connector_dpms, 226 .dpms = drm_helper_connector_dpms,
233 .detect = bochs_connector_detect,
234 .fill_modes = drm_helper_probe_single_connector_modes, 227 .fill_modes = drm_helper_probe_single_connector_modes,
235 .destroy = drm_connector_cleanup, 228 .destroy = drm_connector_cleanup,
236}; 229};
diff --git a/drivers/gpu/drm/bridge/nxp-ptn3460.c b/drivers/gpu/drm/bridge/nxp-ptn3460.c
index f1a99938e924..27f98c518dde 100644
--- a/drivers/gpu/drm/bridge/nxp-ptn3460.c
+++ b/drivers/gpu/drm/bridge/nxp-ptn3460.c
@@ -239,16 +239,9 @@ static const struct drm_connector_helper_funcs ptn3460_connector_helper_funcs =
239 .get_modes = ptn3460_get_modes, 239 .get_modes = ptn3460_get_modes,
240}; 240};
241 241
242static enum drm_connector_status ptn3460_detect(struct drm_connector *connector,
243 bool force)
244{
245 return connector_status_connected;
246}
247
248static const struct drm_connector_funcs ptn3460_connector_funcs = { 242static const struct drm_connector_funcs ptn3460_connector_funcs = {
249 .dpms = drm_atomic_helper_connector_dpms, 243 .dpms = drm_atomic_helper_connector_dpms,
250 .fill_modes = drm_helper_probe_single_connector_modes, 244 .fill_modes = drm_helper_probe_single_connector_modes,
251 .detect = ptn3460_detect,
252 .destroy = drm_connector_cleanup, 245 .destroy = drm_connector_cleanup,
253 .reset = drm_atomic_helper_connector_reset, 246 .reset = drm_atomic_helper_connector_reset,
254 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 247 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/bridge/parade-ps8622.c b/drivers/gpu/drm/bridge/parade-ps8622.c
index 6f7c2f9860d2..ac8cc5b50d9f 100644
--- a/drivers/gpu/drm/bridge/parade-ps8622.c
+++ b/drivers/gpu/drm/bridge/parade-ps8622.c
@@ -477,16 +477,9 @@ static const struct drm_connector_helper_funcs ps8622_connector_helper_funcs = {
477 .get_modes = ps8622_get_modes, 477 .get_modes = ps8622_get_modes,
478}; 478};
479 479
480static enum drm_connector_status ps8622_detect(struct drm_connector *connector,
481 bool force)
482{
483 return connector_status_connected;
484}
485
486static const struct drm_connector_funcs ps8622_connector_funcs = { 480static const struct drm_connector_funcs ps8622_connector_funcs = {
487 .dpms = drm_atomic_helper_connector_dpms, 481 .dpms = drm_atomic_helper_connector_dpms,
488 .fill_modes = drm_helper_probe_single_connector_modes, 482 .fill_modes = drm_helper_probe_single_connector_modes,
489 .detect = ps8622_detect,
490 .destroy = drm_connector_cleanup, 483 .destroy = drm_connector_cleanup,
491 .reset = drm_atomic_helper_connector_reset, 484 .reset = drm_atomic_helper_connector_reset,
492 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 485 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
index a7872400eed8..de9ffb49e9f6 100644
--- a/drivers/gpu/drm/bridge/tc358767.c
+++ b/drivers/gpu/drm/bridge/tc358767.c
@@ -1038,12 +1038,6 @@ err:
1038 return ret; 1038 return ret;
1039} 1039}
1040 1040
1041static enum drm_connector_status
1042tc_connector_detect(struct drm_connector *connector, bool force)
1043{
1044 return connector_status_connected;
1045}
1046
1047static void tc_bridge_pre_enable(struct drm_bridge *bridge) 1041static void tc_bridge_pre_enable(struct drm_bridge *bridge)
1048{ 1042{
1049 struct tc_data *tc = bridge_to_tc(bridge); 1043 struct tc_data *tc = bridge_to_tc(bridge);
@@ -1168,7 +1162,6 @@ static const struct drm_connector_helper_funcs tc_connector_helper_funcs = {
1168static const struct drm_connector_funcs tc_connector_funcs = { 1162static const struct drm_connector_funcs tc_connector_funcs = {
1169 .dpms = drm_atomic_helper_connector_dpms, 1163 .dpms = drm_atomic_helper_connector_dpms,
1170 .fill_modes = drm_helper_probe_single_connector_modes, 1164 .fill_modes = drm_helper_probe_single_connector_modes,
1171 .detect = tc_connector_detect,
1172 .destroy = drm_connector_cleanup, 1165 .destroy = drm_connector_cleanup,
1173 .reset = drm_atomic_helper_connector_reset, 1166 .reset = drm_atomic_helper_connector_reset,
1174 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 1167 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/cirrus/cirrus_mode.c b/drivers/gpu/drm/cirrus/cirrus_mode.c
index 17c915d9a03e..9a4a27c1afd2 100644
--- a/drivers/gpu/drm/cirrus/cirrus_mode.c
+++ b/drivers/gpu/drm/cirrus/cirrus_mode.c
@@ -498,12 +498,6 @@ static struct drm_encoder *cirrus_connector_best_encoder(struct drm_connector
498 return NULL; 498 return NULL;
499} 499}
500 500
501static enum drm_connector_status cirrus_vga_detect(struct drm_connector
502 *connector, bool force)
503{
504 return connector_status_connected;
505}
506
507static void cirrus_connector_destroy(struct drm_connector *connector) 501static void cirrus_connector_destroy(struct drm_connector *connector)
508{ 502{
509 drm_connector_cleanup(connector); 503 drm_connector_cleanup(connector);
@@ -517,7 +511,6 @@ static const struct drm_connector_helper_funcs cirrus_vga_connector_helper_funcs
517 511
518static const struct drm_connector_funcs cirrus_vga_connector_funcs = { 512static const struct drm_connector_funcs cirrus_vga_connector_funcs = {
519 .dpms = drm_helper_connector_dpms, 513 .dpms = drm_helper_connector_dpms,
520 .detect = cirrus_vga_detect,
521 .fill_modes = drm_helper_probe_single_connector_modes, 514 .fill_modes = drm_helper_probe_single_connector_modes,
522 .destroy = cirrus_connector_destroy, 515 .destroy = cirrus_connector_destroy,
523}; 516};
diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c
index f6b64d7d3528..078d9703a4fe 100644
--- a/drivers/gpu/drm/drm_probe_helper.c
+++ b/drivers/gpu/drm/drm_probe_helper.c
@@ -152,6 +152,14 @@ void drm_kms_helper_poll_enable_locked(struct drm_device *dev)
152} 152}
153EXPORT_SYMBOL(drm_kms_helper_poll_enable_locked); 153EXPORT_SYMBOL(drm_kms_helper_poll_enable_locked);
154 154
155static enum drm_connector_status
156drm_connector_detect(struct drm_connector *connector, bool force)
157{
158 return connector->funcs->detect ?
159 connector->funcs->detect(connector, force) :
160 connector_status_connected;
161}
162
155/** 163/**
156 * drm_helper_probe_single_connector_modes - get complete set of display modes 164 * drm_helper_probe_single_connector_modes - get complete set of display modes
157 * @connector: connector to probe 165 * @connector: connector to probe
@@ -239,7 +247,7 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
239 if (connector->funcs->force) 247 if (connector->funcs->force)
240 connector->funcs->force(connector); 248 connector->funcs->force(connector);
241 } else { 249 } else {
242 connector->status = connector->funcs->detect(connector, true); 250 connector->status = drm_connector_detect(connector, true);
243 } 251 }
244 252
245 /* 253 /*
@@ -405,7 +413,7 @@ static void output_poll_execute(struct work_struct *work)
405 413
406 repoll = true; 414 repoll = true;
407 415
408 connector->status = connector->funcs->detect(connector, false); 416 connector->status = drm_connector_detect(connector, false);
409 if (old_status != connector->status) { 417 if (old_status != connector->status) {
410 const char *old, *new; 418 const char *old, *new;
411 419
@@ -565,7 +573,7 @@ bool drm_helper_hpd_irq_event(struct drm_device *dev)
565 573
566 old_status = connector->status; 574 old_status = connector->status;
567 575
568 connector->status = connector->funcs->detect(connector, false); 576 connector->status = drm_connector_detect(connector, false);
569 DRM_DEBUG_KMS("[CONNECTOR:%d:%s] status updated from %s to %s\n", 577 DRM_DEBUG_KMS("[CONNECTOR:%d:%s] status updated from %s to %s\n",
570 connector->base.id, 578 connector->base.id,
571 connector->name, 579 connector->name,
diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
index e1dd75b18118..05a8ee106879 100644
--- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
@@ -58,17 +58,10 @@ static void fsl_dcu_drm_connector_destroy(struct drm_connector *connector)
58 drm_connector_cleanup(connector); 58 drm_connector_cleanup(connector);
59} 59}
60 60
61static enum drm_connector_status
62fsl_dcu_drm_connector_detect(struct drm_connector *connector, bool force)
63{
64 return connector_status_connected;
65}
66
67static const struct drm_connector_funcs fsl_dcu_drm_connector_funcs = { 61static const struct drm_connector_funcs fsl_dcu_drm_connector_funcs = {
68 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 62 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
69 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, 63 .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
70 .destroy = fsl_dcu_drm_connector_destroy, 64 .destroy = fsl_dcu_drm_connector_destroy,
71 .detect = fsl_dcu_drm_connector_detect,
72 .dpms = drm_atomic_helper_connector_dpms, 65 .dpms = drm_atomic_helper_connector_dpms,
73 .fill_modes = drm_helper_probe_single_connector_modes, 66 .fill_modes = drm_helper_probe_single_connector_modes,
74 .reset = drm_atomic_helper_connector_reset, 67 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/gma500/cdv_intel_lvds.c b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
index ea733ab5b1e0..5efdb7fbb7ee 100644
--- a/drivers/gpu/drm/gma500/cdv_intel_lvds.c
+++ b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
@@ -387,19 +387,6 @@ static void cdv_intel_lvds_mode_set(struct drm_encoder *encoder,
387} 387}
388 388
389/** 389/**
390 * Detect the LVDS connection.
391 *
392 * This always returns CONNECTOR_STATUS_CONNECTED.
393 * This connector should only have
394 * been set up if the LVDS was actually connected anyway.
395 */
396static enum drm_connector_status cdv_intel_lvds_detect(
397 struct drm_connector *connector, bool force)
398{
399 return connector_status_connected;
400}
401
402/**
403 * Return the list of DDC modes if available, or the BIOS fixed mode otherwise. 390 * Return the list of DDC modes if available, or the BIOS fixed mode otherwise.
404 */ 391 */
405static int cdv_intel_lvds_get_modes(struct drm_connector *connector) 392static int cdv_intel_lvds_get_modes(struct drm_connector *connector)
@@ -521,7 +508,6 @@ static const struct drm_connector_helper_funcs
521 508
522static const struct drm_connector_funcs cdv_intel_lvds_connector_funcs = { 509static const struct drm_connector_funcs cdv_intel_lvds_connector_funcs = {
523 .dpms = drm_helper_connector_dpms, 510 .dpms = drm_helper_connector_dpms,
524 .detect = cdv_intel_lvds_detect,
525 .fill_modes = drm_helper_probe_single_connector_modes, 511 .fill_modes = drm_helper_probe_single_connector_modes,
526 .set_property = cdv_intel_lvds_set_property, 512 .set_property = cdv_intel_lvds_set_property,
527 .destroy = cdv_intel_lvds_destroy, 513 .destroy = cdv_intel_lvds_destroy,
diff --git a/drivers/gpu/drm/gma500/psb_intel_lvds.c b/drivers/gpu/drm/gma500/psb_intel_lvds.c
index fd7c91254841..483fdce74e39 100644
--- a/drivers/gpu/drm/gma500/psb_intel_lvds.c
+++ b/drivers/gpu/drm/gma500/psb_intel_lvds.c
@@ -500,19 +500,6 @@ static void psb_intel_lvds_mode_set(struct drm_encoder *encoder,
500} 500}
501 501
502/* 502/*
503 * Detect the LVDS connection.
504 *
505 * This always returns CONNECTOR_STATUS_CONNECTED.
506 * This connector should only have
507 * been set up if the LVDS was actually connected anyway.
508 */
509static enum drm_connector_status psb_intel_lvds_detect(struct drm_connector
510 *connector, bool force)
511{
512 return connector_status_connected;
513}
514
515/*
516 * Return the list of DDC modes if available, or the BIOS fixed mode otherwise. 503 * Return the list of DDC modes if available, or the BIOS fixed mode otherwise.
517 */ 504 */
518static int psb_intel_lvds_get_modes(struct drm_connector *connector) 505static int psb_intel_lvds_get_modes(struct drm_connector *connector)
@@ -643,7 +630,6 @@ const struct drm_connector_helper_funcs
643 630
644const struct drm_connector_funcs psb_intel_lvds_connector_funcs = { 631const struct drm_connector_funcs psb_intel_lvds_connector_funcs = {
645 .dpms = drm_helper_connector_dpms, 632 .dpms = drm_helper_connector_dpms,
646 .detect = psb_intel_lvds_detect,
647 .fill_modes = drm_helper_probe_single_connector_modes, 633 .fill_modes = drm_helper_probe_single_connector_modes,
648 .set_property = psb_intel_lvds_set_property, 634 .set_property = psb_intel_lvds_set_property,
649 .destroy = psb_intel_lvds_destroy, 635 .destroy = psb_intel_lvds_destroy,
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
index d1f67a9d4d86..12a18557c5fd 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
@@ -39,12 +39,6 @@ hibmc_connector_best_encoder(struct drm_connector *connector)
39 return drm_encoder_find(connector->dev, connector->encoder_ids[0]); 39 return drm_encoder_find(connector->dev, connector->encoder_ids[0]);
40} 40}
41 41
42static enum drm_connector_status hibmc_connector_detect(struct drm_connector
43 *connector, bool force)
44{
45 return connector_status_connected;
46}
47
48static const struct drm_connector_helper_funcs 42static const struct drm_connector_helper_funcs
49 hibmc_connector_helper_funcs = { 43 hibmc_connector_helper_funcs = {
50 .get_modes = hibmc_connector_get_modes, 44 .get_modes = hibmc_connector_get_modes,
@@ -54,7 +48,6 @@ static const struct drm_connector_helper_funcs
54 48
55static const struct drm_connector_funcs hibmc_connector_funcs = { 49static const struct drm_connector_funcs hibmc_connector_funcs = {
56 .dpms = drm_atomic_helper_connector_dpms, 50 .dpms = drm_atomic_helper_connector_dpms,
57 .detect = hibmc_connector_detect,
58 .fill_modes = drm_helper_probe_single_connector_modes, 51 .fill_modes = drm_helper_probe_single_connector_modes,
59 .destroy = drm_connector_cleanup, 52 .destroy = drm_connector_cleanup,
60 .reset = drm_atomic_helper_connector_reset, 53 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
index 4e0d025490a3..5b72c50d6f76 100644
--- a/drivers/gpu/drm/i915/intel_dsi.c
+++ b/drivers/gpu/drm/i915/intel_dsi.c
@@ -1298,12 +1298,6 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder,
1298 } 1298 }
1299} 1299}
1300 1300
1301static enum drm_connector_status
1302intel_dsi_detect(struct drm_connector *connector, bool force)
1303{
1304 return connector_status_connected;
1305}
1306
1307static int intel_dsi_get_modes(struct drm_connector *connector) 1301static int intel_dsi_get_modes(struct drm_connector *connector)
1308{ 1302{
1309 struct intel_connector *intel_connector = to_intel_connector(connector); 1303 struct intel_connector *intel_connector = to_intel_connector(connector);
@@ -1407,7 +1401,6 @@ static const struct drm_connector_helper_funcs intel_dsi_connector_helper_funcs
1407 1401
1408static const struct drm_connector_funcs intel_dsi_connector_funcs = { 1402static const struct drm_connector_funcs intel_dsi_connector_funcs = {
1409 .dpms = drm_atomic_helper_connector_dpms, 1403 .dpms = drm_atomic_helper_connector_dpms,
1410 .detect = intel_dsi_detect,
1411 .late_register = intel_connector_register, 1404 .late_register = intel_connector_register,
1412 .early_unregister = intel_connector_unregister, 1405 .early_unregister = intel_connector_unregister,
1413 .destroy = intel_dsi_connector_destroy, 1406 .destroy = intel_dsi_connector_destroy,
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c
index b300998dce7d..516d06490465 100644
--- a/drivers/gpu/drm/imx/imx-ldb.c
+++ b/drivers/gpu/drm/imx/imx-ldb.c
@@ -101,12 +101,6 @@ struct imx_ldb {
101 const struct bus_mux *lvds_mux; 101 const struct bus_mux *lvds_mux;
102}; 102};
103 103
104static enum drm_connector_status imx_ldb_connector_detect(
105 struct drm_connector *connector, bool force)
106{
107 return connector_status_connected;
108}
109
110static void imx_ldb_ch_set_bus_format(struct imx_ldb_channel *imx_ldb_ch, 104static void imx_ldb_ch_set_bus_format(struct imx_ldb_channel *imx_ldb_ch,
111 u32 bus_format) 105 u32 bus_format)
112{ 106{
@@ -397,7 +391,6 @@ static int imx_ldb_encoder_atomic_check(struct drm_encoder *encoder,
397static const struct drm_connector_funcs imx_ldb_connector_funcs = { 391static const struct drm_connector_funcs imx_ldb_connector_funcs = {
398 .dpms = drm_atomic_helper_connector_dpms, 392 .dpms = drm_atomic_helper_connector_dpms,
399 .fill_modes = drm_helper_probe_single_connector_modes, 393 .fill_modes = drm_helper_probe_single_connector_modes,
400 .detect = imx_ldb_connector_detect,
401 .destroy = imx_drm_connector_destroy, 394 .destroy = imx_drm_connector_destroy,
402 .reset = drm_atomic_helper_connector_reset, 395 .reset = drm_atomic_helper_connector_reset,
403 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 396 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c
index 8fc088843e55..3b602ee33c44 100644
--- a/drivers/gpu/drm/imx/imx-tve.c
+++ b/drivers/gpu/drm/imx/imx-tve.c
@@ -227,12 +227,6 @@ static int tve_setup_vga(struct imx_tve *tve)
227 TVE_TVDAC_TEST_MODE_MASK, 1); 227 TVE_TVDAC_TEST_MODE_MASK, 1);
228} 228}
229 229
230static enum drm_connector_status imx_tve_connector_detect(
231 struct drm_connector *connector, bool force)
232{
233 return connector_status_connected;
234}
235
236static int imx_tve_connector_get_modes(struct drm_connector *connector) 230static int imx_tve_connector_get_modes(struct drm_connector *connector)
237{ 231{
238 struct imx_tve *tve = con_to_tve(connector); 232 struct imx_tve *tve = con_to_tve(connector);
@@ -352,7 +346,6 @@ static int imx_tve_atomic_check(struct drm_encoder *encoder,
352static const struct drm_connector_funcs imx_tve_connector_funcs = { 346static const struct drm_connector_funcs imx_tve_connector_funcs = {
353 .dpms = drm_atomic_helper_connector_dpms, 347 .dpms = drm_atomic_helper_connector_dpms,
354 .fill_modes = drm_helper_probe_single_connector_modes, 348 .fill_modes = drm_helper_probe_single_connector_modes,
355 .detect = imx_tve_connector_detect,
356 .destroy = imx_drm_connector_destroy, 349 .destroy = imx_drm_connector_destroy,
357 .reset = drm_atomic_helper_connector_reset, 350 .reset = drm_atomic_helper_connector_reset,
358 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 351 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c
index d796ada2a47a..8582a83c0d9b 100644
--- a/drivers/gpu/drm/imx/parallel-display.c
+++ b/drivers/gpu/drm/imx/parallel-display.c
@@ -49,12 +49,6 @@ static inline struct imx_parallel_display *enc_to_imxpd(struct drm_encoder *e)
49 return container_of(e, struct imx_parallel_display, encoder); 49 return container_of(e, struct imx_parallel_display, encoder);
50} 50}
51 51
52static enum drm_connector_status imx_pd_connector_detect(
53 struct drm_connector *connector, bool force)
54{
55 return connector_status_connected;
56}
57
58static int imx_pd_connector_get_modes(struct drm_connector *connector) 52static int imx_pd_connector_get_modes(struct drm_connector *connector)
59{ 53{
60 struct imx_parallel_display *imxpd = con_to_imxpd(connector); 54 struct imx_parallel_display *imxpd = con_to_imxpd(connector);
@@ -143,7 +137,6 @@ static int imx_pd_encoder_atomic_check(struct drm_encoder *encoder,
143static const struct drm_connector_funcs imx_pd_connector_funcs = { 137static const struct drm_connector_funcs imx_pd_connector_funcs = {
144 .dpms = drm_atomic_helper_connector_dpms, 138 .dpms = drm_atomic_helper_connector_dpms,
145 .fill_modes = drm_helper_probe_single_connector_modes, 139 .fill_modes = drm_helper_probe_single_connector_modes,
146 .detect = imx_pd_connector_detect,
147 .destroy = imx_drm_connector_destroy, 140 .destroy = imx_drm_connector_destroy,
148 .reset = drm_atomic_helper_connector_reset, 141 .reset = drm_atomic_helper_connector_reset,
149 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 142 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
index 28b2044ed9f2..30027b26a59f 100644
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
@@ -562,12 +562,6 @@ static void mtk_dsi_encoder_enable(struct drm_encoder *encoder)
562 mtk_output_dsi_enable(dsi); 562 mtk_output_dsi_enable(dsi);
563} 563}
564 564
565static enum drm_connector_status mtk_dsi_connector_detect(
566 struct drm_connector *connector, bool force)
567{
568 return connector_status_connected;
569}
570
571static int mtk_dsi_connector_get_modes(struct drm_connector *connector) 565static int mtk_dsi_connector_get_modes(struct drm_connector *connector)
572{ 566{
573 struct mtk_dsi *dsi = connector_to_dsi(connector); 567 struct mtk_dsi *dsi = connector_to_dsi(connector);
@@ -584,7 +578,6 @@ static const struct drm_encoder_helper_funcs mtk_dsi_encoder_helper_funcs = {
584 578
585static const struct drm_connector_funcs mtk_dsi_connector_funcs = { 579static const struct drm_connector_funcs mtk_dsi_connector_funcs = {
586 .dpms = drm_atomic_helper_connector_dpms, 580 .dpms = drm_atomic_helper_connector_dpms,
587 .detect = mtk_dsi_connector_detect,
588 .fill_modes = drm_helper_probe_single_connector_modes, 581 .fill_modes = drm_helper_probe_single_connector_modes,
589 .destroy = drm_connector_cleanup, 582 .destroy = drm_connector_cleanup,
590 .reset = drm_atomic_helper_connector_reset, 583 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
index 6b21cb27e1cc..3a03ac4045d8 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -1658,12 +1658,6 @@ static struct drm_encoder *mga_connector_best_encoder(struct drm_connector
1658 return NULL; 1658 return NULL;
1659} 1659}
1660 1660
1661static enum drm_connector_status mga_vga_detect(struct drm_connector
1662 *connector, bool force)
1663{
1664 return connector_status_connected;
1665}
1666
1667static void mga_connector_destroy(struct drm_connector *connector) 1661static void mga_connector_destroy(struct drm_connector *connector)
1668{ 1662{
1669 struct mga_connector *mga_connector = to_mga_connector(connector); 1663 struct mga_connector *mga_connector = to_mga_connector(connector);
@@ -1680,7 +1674,6 @@ static const struct drm_connector_helper_funcs mga_vga_connector_helper_funcs =
1680 1674
1681static const struct drm_connector_funcs mga_vga_connector_funcs = { 1675static const struct drm_connector_funcs mga_vga_connector_funcs = {
1682 .dpms = drm_helper_connector_dpms, 1676 .dpms = drm_helper_connector_dpms,
1683 .detect = mga_vga_detect,
1684 .fill_modes = drm_helper_probe_single_connector_modes, 1677 .fill_modes = drm_helper_probe_single_connector_modes,
1685 .destroy = mga_connector_destroy, 1678 .destroy = mga_connector_destroy,
1686}; 1679};
diff --git a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
index 64e9f0b86e58..3bcfd161c53f 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_lvdscon.c
@@ -61,16 +61,9 @@ static const struct drm_connector_helper_funcs connector_helper_funcs = {
61 .get_modes = rcar_du_lvds_connector_get_modes, 61 .get_modes = rcar_du_lvds_connector_get_modes,
62}; 62};
63 63
64static enum drm_connector_status
65rcar_du_lvds_connector_detect(struct drm_connector *connector, bool force)
66{
67 return connector_status_connected;
68}
69
70static const struct drm_connector_funcs connector_funcs = { 64static const struct drm_connector_funcs connector_funcs = {
71 .dpms = drm_atomic_helper_connector_dpms, 65 .dpms = drm_atomic_helper_connector_dpms,
72 .reset = drm_atomic_helper_connector_reset, 66 .reset = drm_atomic_helper_connector_reset,
73 .detect = rcar_du_lvds_connector_detect,
74 .fill_modes = drm_helper_probe_single_connector_modes, 67 .fill_modes = drm_helper_probe_single_connector_modes,
75 .destroy = drm_connector_cleanup, 68 .destroy = drm_connector_cleanup,
76 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 69 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
index ca22e5ee89ca..d9aa382bb629 100644
--- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
@@ -969,12 +969,6 @@ static struct drm_connector_helper_funcs dw_mipi_dsi_connector_helper_funcs = {
969 .mode_valid = dw_mipi_dsi_mode_valid, 969 .mode_valid = dw_mipi_dsi_mode_valid,
970}; 970};
971 971
972static enum drm_connector_status
973dw_mipi_dsi_detect(struct drm_connector *connector, bool force)
974{
975 return connector_status_connected;
976}
977
978static void dw_mipi_dsi_drm_connector_destroy(struct drm_connector *connector) 972static void dw_mipi_dsi_drm_connector_destroy(struct drm_connector *connector)
979{ 973{
980 drm_connector_unregister(connector); 974 drm_connector_unregister(connector);
@@ -984,7 +978,6 @@ static void dw_mipi_dsi_drm_connector_destroy(struct drm_connector *connector)
984static struct drm_connector_funcs dw_mipi_dsi_atomic_connector_funcs = { 978static struct drm_connector_funcs dw_mipi_dsi_atomic_connector_funcs = {
985 .dpms = drm_atomic_helper_connector_dpms, 979 .dpms = drm_atomic_helper_connector_dpms,
986 .fill_modes = drm_helper_probe_single_connector_modes, 980 .fill_modes = drm_helper_probe_single_connector_modes,
987 .detect = dw_mipi_dsi_detect,
988 .destroy = dw_mipi_dsi_drm_connector_destroy, 981 .destroy = dw_mipi_dsi_drm_connector_destroy,
989 .reset = drm_atomic_helper_connector_reset, 982 .reset = drm_atomic_helper_connector_reset,
990 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 983 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
index 6547b1db460a..dddbdd62bed0 100644
--- a/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
+++ b/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
@@ -669,15 +669,8 @@ static void shmob_drm_connector_destroy(struct drm_connector *connector)
669 drm_connector_cleanup(connector); 669 drm_connector_cleanup(connector);
670} 670}
671 671
672static enum drm_connector_status
673shmob_drm_connector_detect(struct drm_connector *connector, bool force)
674{
675 return connector_status_connected;
676}
677
678static const struct drm_connector_funcs connector_funcs = { 672static const struct drm_connector_funcs connector_funcs = {
679 .dpms = drm_helper_connector_dpms, 673 .dpms = drm_helper_connector_dpms,
680 .detect = shmob_drm_connector_detect,
681 .fill_modes = drm_helper_probe_single_connector_modes, 674 .fill_modes = drm_helper_probe_single_connector_modes,
682 .destroy = shmob_drm_connector_destroy, 675 .destroy = shmob_drm_connector_destroy,
683}; 676};
diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c
index e7c243f70870..96f336dd0e29 100644
--- a/drivers/gpu/drm/sti/sti_hda.c
+++ b/drivers/gpu/drm/sti/sti_hda.c
@@ -642,12 +642,6 @@ struct drm_connector_helper_funcs sti_hda_connector_helper_funcs = {
642 .mode_valid = sti_hda_connector_mode_valid, 642 .mode_valid = sti_hda_connector_mode_valid,
643}; 643};
644 644
645static enum drm_connector_status
646sti_hda_connector_detect(struct drm_connector *connector, bool force)
647{
648 return connector_status_connected;
649}
650
651static int sti_hda_late_register(struct drm_connector *connector) 645static int sti_hda_late_register(struct drm_connector *connector)
652{ 646{
653 struct sti_hda_connector *hda_connector 647 struct sti_hda_connector *hda_connector
@@ -665,7 +659,6 @@ static int sti_hda_late_register(struct drm_connector *connector)
665static const struct drm_connector_funcs sti_hda_connector_funcs = { 659static const struct drm_connector_funcs sti_hda_connector_funcs = {
666 .dpms = drm_atomic_helper_connector_dpms, 660 .dpms = drm_atomic_helper_connector_dpms,
667 .fill_modes = drm_helper_probe_single_connector_modes, 661 .fill_modes = drm_helper_probe_single_connector_modes,
668 .detect = sti_hda_connector_detect,
669 .destroy = drm_connector_cleanup, 662 .destroy = drm_connector_cleanup,
670 .reset = drm_atomic_helper_connector_reset, 663 .reset = drm_atomic_helper_connector_reset,
671 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 664 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c
index c3ff10f559cc..5380085b3c06 100644
--- a/drivers/gpu/drm/sun4i/sun4i_rgb.c
+++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c
@@ -110,12 +110,6 @@ static struct drm_connector_helper_funcs sun4i_rgb_con_helper_funcs = {
110 .mode_valid = sun4i_rgb_mode_valid, 110 .mode_valid = sun4i_rgb_mode_valid,
111}; 111};
112 112
113static enum drm_connector_status
114sun4i_rgb_connector_detect(struct drm_connector *connector, bool force)
115{
116 return connector_status_connected;
117}
118
119static void 113static void
120sun4i_rgb_connector_destroy(struct drm_connector *connector) 114sun4i_rgb_connector_destroy(struct drm_connector *connector)
121{ 115{
@@ -129,7 +123,6 @@ sun4i_rgb_connector_destroy(struct drm_connector *connector)
129 123
130static struct drm_connector_funcs sun4i_rgb_con_funcs = { 124static struct drm_connector_funcs sun4i_rgb_con_funcs = {
131 .dpms = drm_atomic_helper_connector_dpms, 125 .dpms = drm_atomic_helper_connector_dpms,
132 .detect = sun4i_rgb_connector_detect,
133 .fill_modes = drm_helper_probe_single_connector_modes, 126 .fill_modes = drm_helper_probe_single_connector_modes,
134 .destroy = sun4i_rgb_connector_destroy, 127 .destroy = sun4i_rgb_connector_destroy,
135 .reset = drm_atomic_helper_connector_reset, 128 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c
index d430b331fed5..c6f47222e8fc 100644
--- a/drivers/gpu/drm/sun4i/sun4i_tv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_tv.c
@@ -537,12 +537,6 @@ static struct drm_connector_helper_funcs sun4i_tv_comp_connector_helper_funcs =
537 .mode_valid = sun4i_tv_comp_mode_valid, 537 .mode_valid = sun4i_tv_comp_mode_valid,
538}; 538};
539 539
540static enum drm_connector_status
541sun4i_tv_comp_connector_detect(struct drm_connector *connector, bool force)
542{
543 return connector_status_connected;
544}
545
546static void 540static void
547sun4i_tv_comp_connector_destroy(struct drm_connector *connector) 541sun4i_tv_comp_connector_destroy(struct drm_connector *connector)
548{ 542{
@@ -551,7 +545,6 @@ sun4i_tv_comp_connector_destroy(struct drm_connector *connector)
551 545
552static struct drm_connector_funcs sun4i_tv_comp_connector_funcs = { 546static struct drm_connector_funcs sun4i_tv_comp_connector_funcs = {
553 .dpms = drm_atomic_helper_connector_dpms, 547 .dpms = drm_atomic_helper_connector_dpms,
554 .detect = sun4i_tv_comp_connector_detect,
555 .fill_modes = drm_helper_probe_single_connector_modes, 548 .fill_modes = drm_helper_probe_single_connector_modes,
556 .destroy = sun4i_tv_comp_connector_destroy, 549 .destroy = sun4i_tv_comp_connector_destroy,
557 .reset = drm_atomic_helper_connector_reset, 550 .reset = drm_atomic_helper_connector_reset,
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
index 2134bb20fbe9..e634201db821 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
@@ -144,13 +144,6 @@ static void panel_connector_destroy(struct drm_connector *connector)
144 drm_connector_cleanup(connector); 144 drm_connector_cleanup(connector);
145} 145}
146 146
147static enum drm_connector_status panel_connector_detect(
148 struct drm_connector *connector,
149 bool force)
150{
151 return connector_status_connected;
152}
153
154static int panel_connector_get_modes(struct drm_connector *connector) 147static int panel_connector_get_modes(struct drm_connector *connector)
155{ 148{
156 struct drm_device *dev = connector->dev; 149 struct drm_device *dev = connector->dev;
@@ -197,7 +190,6 @@ static struct drm_encoder *panel_connector_best_encoder(
197static const struct drm_connector_funcs panel_connector_funcs = { 190static const struct drm_connector_funcs panel_connector_funcs = {
198 .destroy = panel_connector_destroy, 191 .destroy = panel_connector_destroy,
199 .dpms = drm_atomic_helper_connector_dpms, 192 .dpms = drm_atomic_helper_connector_dpms,
200 .detect = panel_connector_detect,
201 .fill_modes = drm_helper_probe_single_connector_modes, 193 .fill_modes = drm_helper_probe_single_connector_modes,
202 .reset = drm_atomic_helper_connector_reset, 194 .reset = drm_atomic_helper_connector_reset,
203 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, 195 .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index 34f9741ebb5b..1218a0c002c0 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -262,6 +262,9 @@ struct drm_connector_funcs {
262 * connector due to a user request. force can be used by the driver to 262 * connector due to a user request. force can be used by the driver to
263 * avoid expensive, destructive operations during automated probing. 263 * avoid expensive, destructive operations during automated probing.
264 * 264 *
265 * This callback is optional, if not implemented the connector will be
266 * considered as always being attached.
267 *
265 * FIXME: 268 * FIXME:
266 * 269 *
267 * Note that this hook is only called by the probe helper. It's not in 270 * Note that this hook is only called by the probe helper. It's not in