diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2018-06-28 16:13:13 +0300 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2018-07-05 16:52:08 +0300 |
commit | 38cb8d96933eb07231073efdcd24a6ffa43b23e6 (patch) | |
tree | 218c5e1755d7b4ddf054a2a419cccb4567266371 | |
parent | 7b71ca249b265fe69ab3152a15bc6c305554a7da (diff) | |
download | linux-38cb8d96933eb07231073efdcd24a6ffa43b23e6.tar.gz linux-38cb8d96933eb07231073efdcd24a6ffa43b23e6.tar.bz2 linux-38cb8d96933eb07231073efdcd24a6ffa43b23e6.zip |
drm: Add drm_connector_has_possible_encoder()
Add a small helper for checking whether a connector and
encoder are associated with each other.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180628131315.14156-8-ville.syrjala@linux.intel.com
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/drm_connector.c | 23 | ||||
-rw-r--r-- | include/drm/drm_connector.h | 3 |
2 files changed, 26 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 7387c0377e51..5ada0640de5a 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -331,6 +331,29 @@ int drm_mode_connector_attach_encoder(struct drm_connector *connector, } EXPORT_SYMBOL(drm_mode_connector_attach_encoder); +/** + * drm_connector_has_possible_encoder - check if the connector and encoder are assosicated with each other + * @connector: the connector + * @encoder: the encoder + * + * Returns: + * True if @encoder is one of the possible encoders for @connector. + */ +bool drm_connector_has_possible_encoder(struct drm_connector *connector, + struct drm_encoder *encoder) +{ + struct drm_encoder *enc; + int i; + + drm_connector_for_each_possible_encoder(connector, enc, i) { + if (enc == encoder) + return true; + } + + return false; +} +EXPORT_SYMBOL(drm_connector_has_possible_encoder); + static void drm_mode_remove(struct drm_connector *connector, struct drm_display_mode *mode) { diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index bd6f30cf0755..ad397dfc042b 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -1187,6 +1187,9 @@ struct drm_connector * drm_connector_list_iter_next(struct drm_connector_list_iter *iter); void drm_connector_list_iter_end(struct drm_connector_list_iter *iter); +bool drm_connector_has_possible_encoder(struct drm_connector *connector, + struct drm_encoder *encoder); + /** * drm_for_each_connector_iter - connector_list iterator macro * @connector: &struct drm_connector pointer used as cursor |