diff mbox series

[v2,1/2] drm: add drm_connector_attach_edid_property()

Message ID 20181002061905.10496-2-kraxel@redhat.com (mailing list archive)
State New, archived
Headers show
Series drm/bochs: add edid support. | expand

Commit Message

Gerd Hoffmann Oct. 2, 2018, 6:19 a.m. UTC
drm_connector_init doesn't attach the edid property for some connector
types, drm_connector_attach_edid_property() can be used to enable the
edid property in these cases.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 include/drm/drm_connector.h     |  1 +
 drivers/gpu/drm/drm_connector.c | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+)

Comments

Daniel Vetter Oct. 2, 2018, 8:45 a.m. UTC | #1
On Tue, Oct 02, 2018 at 08:19:04AM +0200, Gerd Hoffmann wrote:
> drm_connector_init doesn't attach the edid property for some connector
> types, drm_connector_attach_edid_property() can be used to enable the
> edid property in these cases.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  include/drm/drm_connector.h     |  1 +
>  drivers/gpu/drm/drm_connector.c | 20 ++++++++++++++++++++
>  2 files changed, 21 insertions(+)
> 
> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> index 97ea41dc67..4d58966b54 100644
> --- a/include/drm/drm_connector.h
> +++ b/include/drm/drm_connector.h
> @@ -1083,6 +1083,7 @@ int drm_connector_init(struct drm_device *dev,
>  		       struct drm_connector *connector,
>  		       const struct drm_connector_funcs *funcs,
>  		       int connector_type);
> +void drm_connector_attach_edid_property(struct drm_connector *connector);
>  int drm_connector_register(struct drm_connector *connector);
>  void drm_connector_unregister(struct drm_connector *connector);
>  int drm_connector_attach_encoder(struct drm_connector *connector,
> diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
> index 6011d769d5..6c6ef4f9b9 100644
> --- a/drivers/gpu/drm/drm_connector.c
> +++ b/drivers/gpu/drm/drm_connector.c
> @@ -291,6 +291,26 @@ int drm_connector_init(struct drm_device *dev,
>  EXPORT_SYMBOL(drm_connector_init);
>  
>  /**
> + * drm_connector_attach_edid_property - attach edid property.
> + * @dev: DRM device
> + * @connector: the connector
> + *
> + * Some connector types like DRM_MODE_CONNECTOR_VIRTUAL do not get a
> + * edid property attached by default.  This function can be used to
> + * explicitly enable the edid property in these cases.
> + *

Surplus line. I'd also use this in the connector setup function, so it's a
notch easier to discover. With that:

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

> + */
> +void drm_connector_attach_edid_property(struct drm_connector *connector)
> +{
> +	struct drm_mode_config *config = &connector->dev->mode_config;
> +
> +	drm_object_attach_property(&connector->base,
> +				   config->edid_property,
> +				   0);
> +}
> +EXPORT_SYMBOL(drm_connector_attach_edid_property);
> +
> +/**
>   * drm_connector_attach_encoder - attach a connector to an encoder
>   * @connector: connector to attach
>   * @encoder: encoder to attach @connector to
> -- 
> 2.9.3
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox series

Patch

diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
index 97ea41dc67..4d58966b54 100644
--- a/include/drm/drm_connector.h
+++ b/include/drm/drm_connector.h
@@ -1083,6 +1083,7 @@  int drm_connector_init(struct drm_device *dev,
 		       struct drm_connector *connector,
 		       const struct drm_connector_funcs *funcs,
 		       int connector_type);
+void drm_connector_attach_edid_property(struct drm_connector *connector);
 int drm_connector_register(struct drm_connector *connector);
 void drm_connector_unregister(struct drm_connector *connector);
 int drm_connector_attach_encoder(struct drm_connector *connector,
diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
index 6011d769d5..6c6ef4f9b9 100644
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
@@ -291,6 +291,26 @@  int drm_connector_init(struct drm_device *dev,
 EXPORT_SYMBOL(drm_connector_init);
 
 /**
+ * drm_connector_attach_edid_property - attach edid property.
+ * @dev: DRM device
+ * @connector: the connector
+ *
+ * Some connector types like DRM_MODE_CONNECTOR_VIRTUAL do not get a
+ * edid property attached by default.  This function can be used to
+ * explicitly enable the edid property in these cases.
+ *
+ */
+void drm_connector_attach_edid_property(struct drm_connector *connector)
+{
+	struct drm_mode_config *config = &connector->dev->mode_config;
+
+	drm_object_attach_property(&connector->base,
+				   config->edid_property,
+				   0);
+}
+EXPORT_SYMBOL(drm_connector_attach_edid_property);
+
+/**
  * drm_connector_attach_encoder - attach a connector to an encoder
  * @connector: connector to attach
  * @encoder: encoder to attach @connector to