On Mon, Jul 21, 2014 at 12:40 PM, Thierry Reding <thierry.reding@xxxxxxxxx> wrote: > On Fri, Jul 18, 2014 at 02:13:58AM +0530, Ajay Kumar wrote: >> From: Rahul Sharma <Rahul.Sharma@xxxxxxxxxxx> >> >> This patch adds ps8622 lvds bridge discovery code to the dp driver. >> >> Signed-off-by: Rahul Sharma <Rahul.Sharma@xxxxxxxxxxx> >> Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> >> --- >> drivers/gpu/drm/exynos/exynos_dp_core.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c b/drivers/gpu/drm/exynos/exynos_dp_core.c >> index 0ca6256..82e2942 100644 >> --- a/drivers/gpu/drm/exynos/exynos_dp_core.c >> +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c >> @@ -31,6 +31,7 @@ >> #include <drm/drm_panel.h> >> #include <drm/bridge/ptn3460.h> >> #include <drm/bridge/panel_binder.h> >> +#include <drm/bridge/ps8622.h> >> >> #include "exynos_drm_drv.h" >> #include "exynos_dp_core.h" >> @@ -999,6 +1000,10 @@ static int exynos_drm_attach_lcd_bridge(struct exynos_dp_device *dp, >> if (find_bridge("nxp,ptn3460", &bridge)) { >> bridge_chain = ptn3460_init(dp->drm_dev, encoder, bridge.client, >> bridge.node); >> + } else if (find_bridge("parade,ps8622", &bridge) || >> + find_bridge("parade,ps8625", &bridge)) { >> + bridge_chain = ps8622_init(dp->drm_dev, encoder, bridge.client, >> + bridge.node); >> } > > We really ought to be adding some sort of registry at some point. > Otherwise every driver that wants to use bridges needs to come up with a > similar set of helpers to instantiate them. > > Also you're making this driver depend on (now) two bridges, whereas it > really shouldn't matter which exact types it supports. Bridges should be > exposed via a generic interface. How about moving out the find_bridge() function into a common header file, and also supporting the list of bridge_init declarations in the same file? We get bridge chip node from phandle, and then pass the same node to find_bridge() which searches the list using of_device_is_compatible() to call the appropriate bridge_init function? Ajay -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html