drm: get drm_bridge_panel connector via helper
The drm_connector created by drm_panel_bridge was accessed via drm_panel.connector. Avoid the detour around drm_panel by providing a simple get method. This avoids direct access to the connector field in drm_panel in the two users. The change is done in preparation for removal of drm_panel.connector. Update pl111 and tve200 to use the new helper. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Cc: Andrzej Hajda <a.hajda@samsung.com> Cc: Neil Armstrong <narmstrong@baylibre.com> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> Cc: Jonas Karlman <jonas@kwiboo.se> Cc: Jernej Skrabec <jernej.skrabec@siol.net> Cc: Eric Anholt <eric@anholt.net> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Maxime Ripard <mripard@kernel.org> Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20191207140353.23967-5-sam@ravnborg.org
This commit is contained in:
		
							parent
							
								
									0fe1564bd6
								
							
						
					
					
						commit
						d383fb5f8a
					
				| @ -289,3 +289,20 @@ struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev, | |||||||
| 	return bridge; | 	return bridge; | ||||||
| } | } | ||||||
| EXPORT_SYMBOL(devm_drm_panel_bridge_add_typed); | EXPORT_SYMBOL(devm_drm_panel_bridge_add_typed); | ||||||
|  | 
 | ||||||
|  | /**
 | ||||||
|  |  * drm_panel_bridge_connector - return the connector for the panel bridge | ||||||
|  |  * | ||||||
|  |  * drm_panel_bridge creates the connector. | ||||||
|  |  * This function gives external access to the connector. | ||||||
|  |  * | ||||||
|  |  * Returns: Pointer to drm_connector | ||||||
|  |  */ | ||||||
|  | struct drm_connector *drm_panel_bridge_connector(struct drm_bridge *bridge) | ||||||
|  | { | ||||||
|  | 	struct panel_bridge *panel_bridge; | ||||||
|  | 
 | ||||||
|  | 	panel_bridge = drm_bridge_to_panel_bridge(bridge); | ||||||
|  | 
 | ||||||
|  | 	return &panel_bridge->connector; | ||||||
|  | } | ||||||
|  | |||||||
| @ -166,7 +166,7 @@ static int pl111_modeset_init(struct drm_device *dev) | |||||||
| 	priv->bridge = bridge; | 	priv->bridge = bridge; | ||||||
| 	if (panel) { | 	if (panel) { | ||||||
| 		priv->panel = panel; | 		priv->panel = panel; | ||||||
| 		priv->connector = panel->connector; | 		priv->connector = drm_panel_bridge_connector(bridge); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	ret = pl111_display_init(dev); | 	ret = pl111_display_init(dev); | ||||||
|  | |||||||
| @ -110,7 +110,7 @@ static int tve200_modeset_init(struct drm_device *dev) | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	priv->panel = panel; | 	priv->panel = panel; | ||||||
| 	priv->connector = panel->connector; | 	priv->connector = drm_panel_bridge_connector(bridge); | ||||||
| 	priv->bridge = bridge; | 	priv->bridge = bridge; | ||||||
| 
 | 
 | ||||||
| 	dev_info(dev->dev, "attached to panel %s\n", | 	dev_info(dev->dev, "attached to panel %s\n", | ||||||
|  | |||||||
| @ -501,6 +501,7 @@ struct drm_bridge *devm_drm_panel_bridge_add(struct device *dev, | |||||||
| struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev, | struct drm_bridge *devm_drm_panel_bridge_add_typed(struct device *dev, | ||||||
| 						   struct drm_panel *panel, | 						   struct drm_panel *panel, | ||||||
| 						   u32 connector_type); | 						   u32 connector_type); | ||||||
|  | struct drm_connector *drm_panel_bridge_connector(struct drm_bridge *bridge); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #endif | #endif | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user