diff mbox series

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

Message ID 20181002111041.17053-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, 11:10 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>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 include/drm/drm_connector.h     |  1 +
 drivers/gpu/drm/drm_connector.c | 23 ++++++++++++++++++++---
 2 files changed, 21 insertions(+), 3 deletions(-)

Comments

Daniel Vetter Oct. 24, 2018, 10:28 a.m. UTC | #1
On Tue, Oct 02, 2018 at 01:10:40PM +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>
> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  include/drm/drm_connector.h     |  1 +
>  drivers/gpu/drm/drm_connector.c | 23 ++++++++++++++++++++---
>  2 files changed, 21 insertions(+), 3 deletions(-)
> 
> 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..486b784e4d 100644
> --- a/drivers/gpu/drm/drm_connector.c
> +++ b/drivers/gpu/drm/drm_connector.c
> @@ -256,9 +256,7 @@ int drm_connector_init(struct drm_device *dev,
>  
>  	if (connector_type != DRM_MODE_CONNECTOR_VIRTUAL &&
>  	    connector_type != DRM_MODE_CONNECTOR_WRITEBACK)
> -		drm_object_attach_property(&connector->base,
> -					      config->edid_property,
> -					      0);
> +		drm_connector_attach_edid_property(connector);
>  
>  	drm_object_attach_property(&connector->base,
>  				      config->dpms_property, 0);
> @@ -291,6 +289,25 @@ int drm_connector_init(struct drm_device *dev,
>  EXPORT_SYMBOL(drm_connector_init);
>  
>  /**
> + * drm_connector_attach_edid_property - attach edid property.
> + * @dev: DRM device

this makes kerneldoc unhappy. Can you pls run make htmldocs and fix?

Thanks, Daniel

> + * @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
> -- 
> 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..486b784e4d 100644
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
@@ -256,9 +256,7 @@  int drm_connector_init(struct drm_device *dev,
 
 	if (connector_type != DRM_MODE_CONNECTOR_VIRTUAL &&
 	    connector_type != DRM_MODE_CONNECTOR_WRITEBACK)
-		drm_object_attach_property(&connector->base,
-					      config->edid_property,
-					      0);
+		drm_connector_attach_edid_property(connector);
 
 	drm_object_attach_property(&connector->base,
 				      config->dpms_property, 0);
@@ -291,6 +289,25 @@  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