Heiko, ? 09/02/2015 04:46 AM, Heiko Stuebner ??: > 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 at rock-chips.com> > [...] > >> 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); > Oh, good catch, thanks > >> drm_mode_connector_attach_encoder(connector, encoder); >> > [...] > >> @@ -1301,7 +1239,10 @@ static int exynos_dp_bind(struct device *dev, struct >> device *master, void *data) if (IS_ERR(dp->reg_base)) >> return PTR_ERR(dp->reg_base); >> >> - dp->hpd_gpio = of_get_named_gpio(dev->of_node, "samsung,hpd-gpio", 0); >> + dp->hpd_gpio = of_get_named_gpio(dev->of_node, "hpd-gpios", 0); >> + if (gpio_is_valid(dp->hpd_gpio)) > this should be !gpio_is_valid ... i.e. only check the old property if the new > one is _not_ valid Oh, much appreciate ;) - Yakir > >> + dp->hpd_gpio = of_get_named_gpio(dev->of_node, >> + "samsung,hpd-gpio", 0); >> >> if (gpio_is_valid(dp->hpd_gpio)) { >> /* > > >