From: Mark Yao Date: Mon, 1 Aug 2016 09:03:17 +0000 (+0800) Subject: drm/rockchip: find connector by device node X-Git-Tag: firefly_0821_release~2006 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=ec3d780660a11177f9a969fc4891edcbfeccdaf3;p=firefly-linux-kernel-4.4.55.git drm/rockchip: find connector by device node Change-Id: I3851e296669c5c67ada47b472a3f7294ca25c796 Signed-off-by: Mark Yao --- diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index 1a890fac97bc..01afc8a0da63 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -997,6 +997,7 @@ static int analogix_dp_bridge_attach(struct drm_bridge *bridge) } connector->polled = DRM_CONNECTOR_POLL_HPD; + connector->port = dp->dev->of_node; ret = drm_connector_init(dp->drm_dev, connector, &analogix_dp_connector_funcs, diff --git a/drivers/gpu/drm/bridge/dw-hdmi.c b/drivers/gpu/drm/bridge/dw-hdmi.c index f984983168cb..6af430bfc6d3 100644 --- a/drivers/gpu/drm/bridge/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/dw-hdmi.c @@ -1759,6 +1759,7 @@ static int dw_hdmi_register(struct drm_device *drm, struct dw_hdmi *hdmi) encoder->bridge = bridge; hdmi->connector.polled = DRM_CONNECTOR_POLL_HPD; + hdmi->connector.port = hdmi->dev->of_node; drm_connector_helper_add(&hdmi->connector, &dw_hdmi_connector_helper_funcs); diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c index aac04532bcd6..856804cd488b 100644 --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi.c +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c @@ -1089,6 +1089,7 @@ static int dw_mipi_dsi_register(struct drm_device *drm, &dw_mipi_dsi_atomic_connector_funcs, DRM_MODE_CONNECTOR_DSI); + dsi->connector.port = dev->of_node; drm_mode_connector_attach_encoder(connector, encoder); return 0; diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c index c296559ba796..f9d1fbb0cbc3 100644 --- a/drivers/gpu/drm/rockchip/inno_hdmi.c +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c @@ -869,6 +869,7 @@ static int inno_hdmi_register(struct drm_device *drm, struct inno_hdmi *hdmi) DRM_MODE_ENCODER_TMDS, NULL); hdmi->connector.polled = DRM_CONNECTOR_POLL_HPD; + hdmi->connector.port = dev->of_node; drm_connector_helper_add(&hdmi->connector, &inno_hdmi_connector_helper_funcs); diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 9c37e6bd301c..0fc87d4cf31c 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -610,6 +610,7 @@ struct drm_encoder { /** * struct drm_connector - central DRM connector control structure * @dev: parent DRM device + * @port: OF node used by find connector by node. * @kdev: kernel device for sysfs attributes * @attr: sysfs attributes * @head: list management @@ -664,6 +665,7 @@ struct drm_encoder { */ struct drm_connector { struct drm_device *dev; + struct device_node *port; struct device *kdev; struct device_attribute *attr; struct list_head head;