On Tue, Sep 1, 2015 at 3:46 PM, Heiko Stuebner <heiko@xxxxxxxxx> wrote: > Am Dienstag, 1. September 2015, 13:49:58 schrieb Yakir Yang: >> Split the dp core driver from exynos directory to bridge >> directory, and rename the core driver to analogix_dp_*, >> leave the platform code to analogix_dp-exynos. >> >> Signed-off-by: Yakir Yang <ykk@xxxxxxxxxxxxxx> > > [...] > >> diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c >> b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c similarity index 50% >> rename from drivers/gpu/drm/exynos/exynos_dp_core.c >> rename to drivers/gpu/drm/bridge/analogix/analogix_dp_core.c >> index bed0252..7d62f22 100644 >> --- a/drivers/gpu/drm/exynos/exynos_dp_core.c >> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c > > [...] > >> connector->polled = DRM_CONNECTOR_POLL_HPD; >> >> ret = drm_connector_init(dp->drm_dev, connector, >> - &exynos_dp_connector_funcs, >> + &analogix_dp_connector_funcs, >> DRM_MODE_CONNECTOR_eDP); >> if (ret) { >> DRM_ERROR("Failed to initialize connector with drm\n"); >> return ret; >> } >> >> - drm_connector_helper_add(connector, &exynos_dp_connector_helper_funcs); >> + drm_connector_helper_add(connector, >> + &analogix_dp_connector_helper_funcs); >> drm_connector_register(connector); > > this should only run on exynos, as we're doing all our connector registration > in the core driver after all components are bound, so I guess something like > the following is needed: > > if (dp->plat_data && dp->plat_data->dev_type == EXYNOS_DP) > drm_connector_register(connector); Yuck! Surely there is a better way. From what I've seen of DRM, I have no doubt this is needed, but really a better solution is needed. Surely there can be a more generic way for the driver to determine if it should handle the connector or not. This seems like a common problem including one I have seen. What I'm working on has onchip DSI encoder -> ADV7533 -> HDMI. The DSI encoder can also have a direct attached panel. So I have to check for a bridge in the encoder driver and only register the connector for the panel if a bridge is not attached. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html