mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	drm: add drm_connector_attach_edid_property()
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> Link: http://patchwork.freedesktop.org/patch/msgid/20181002111041.17053-2-kraxel@redhat.com
This commit is contained in:
		
							parent
							
								
									4db4b85014
								
							
						
					
					
						commit
						6b7e2d5c30
					
				
					 2 changed files with 21 additions and 3 deletions
				
			
		| 
						 | 
					@ -260,9 +260,7 @@ int drm_connector_init(struct drm_device *dev,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (connector_type != DRM_MODE_CONNECTOR_VIRTUAL &&
 | 
						if (connector_type != DRM_MODE_CONNECTOR_VIRTUAL &&
 | 
				
			||||||
	    connector_type != DRM_MODE_CONNECTOR_WRITEBACK)
 | 
						    connector_type != DRM_MODE_CONNECTOR_WRITEBACK)
 | 
				
			||||||
		drm_object_attach_property(&connector->base,
 | 
							drm_connector_attach_edid_property(connector);
 | 
				
			||||||
					      config->edid_property,
 | 
					 | 
				
			||||||
					      0);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	drm_object_attach_property(&connector->base,
 | 
						drm_object_attach_property(&connector->base,
 | 
				
			||||||
				      config->dpms_property, 0);
 | 
									      config->dpms_property, 0);
 | 
				
			||||||
| 
						 | 
					@ -294,6 +292,25 @@ int drm_connector_init(struct drm_device *dev,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL(drm_connector_init);
 | 
					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
 | 
					 * drm_connector_attach_encoder - attach a connector to an encoder
 | 
				
			||||||
 * @connector: connector to attach
 | 
					 * @connector: connector to attach
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1084,6 +1084,7 @@ int drm_connector_init(struct drm_device *dev,
 | 
				
			||||||
		       struct drm_connector *connector,
 | 
							       struct drm_connector *connector,
 | 
				
			||||||
		       const struct drm_connector_funcs *funcs,
 | 
							       const struct drm_connector_funcs *funcs,
 | 
				
			||||||
		       int connector_type);
 | 
							       int connector_type);
 | 
				
			||||||
 | 
					void drm_connector_attach_edid_property(struct drm_connector *connector);
 | 
				
			||||||
int drm_connector_register(struct drm_connector *connector);
 | 
					int drm_connector_register(struct drm_connector *connector);
 | 
				
			||||||
void drm_connector_unregister(struct drm_connector *connector);
 | 
					void drm_connector_unregister(struct drm_connector *connector);
 | 
				
			||||||
int drm_connector_attach_encoder(struct drm_connector *connector,
 | 
					int drm_connector_attach_encoder(struct drm_connector *connector,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue