On Tue, May 20, 2014 at 11:15:25AM +0200, Jean Delvare wrote: > The following configuration options combination: > > CONFIG_DRM_EXYNOS_DP=y > CONFIG_DRM_PTN3460=m > > currently leads to the following linker failure: > > drivers/built-in.o: In function `exynos_drm_attach_lcd_bridge': > .../drivers/gpu/drm/exynos/exynos_dp_core.c:1004: > undefined reference to `ptn3460_init' > > This is because ptn3460_init can't be implemented in a module while > its caller is built into the kernel. So add the proper dependency in > Kconfig so that the above can't happen. > > I moved DRM_PTN3460 earlier in Kconfig, next to the I2C helper module > section, so that the user has a chance to select it before moving to > the Exynos-specific section. > > IMHO the proper way to solve the problem would be to turn ptn3460 into > a clean I2C driver, similar to the other I2C helper chip drivers. It's > the only way to not sink into impossible-to-guess dependencies. Then > ptn3460 could even be moved together with the other I2C helper chip > drivers. FWIW, various ideas have been discussed to solve this problem. The most recent agreement I think was to create a registry for bridge drivers to register DRM bridge objects against and allow drivers to look them up. That way we can get rid of the various *_init() functions that currently need to be called directly from within DRM drivers. I'm not aware of anybody working on this currently, hence I think this is an appropriate fix in the meantime: Reviewed-by: Thierry Reding <treding@xxxxxxxxxx>
Attachment:
pgpMtDWNZDHUf.pgp
Description: PGP signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel