On Sun, Jan 05, 2014 at 10:22:51AM -0800, Guenter Roeck wrote: > arm:allmodconfig fails to build with several undefined drm and host1x symbols. > > drivers/gpu/drm/tegra/bus.c:52: undefined reference to `drm_dev_alloc' > drivers/gpu/drm/tegra/bus.c:56: undefined reference to `drm_dev_register' > drivers/gpu/drm/tegra/bus.c:67: undefined reference to `drm_dev_free' > drivers/gpu/drm/tegra/bus.c:75: undefined reference to `drm_put_dev' > drivers/gpu/drm/tegra/drm.c:445: undefined reference to `host1x_syncpt_get_base' > drivers/gpu/drm/tegra/drm.c:449: undefined reference to `host1x_syncpt_base_id' > > and so on. > > This is caused by DRM=m but DRM_TEGRA=y. DRM_TEGRA is bool while DRM is > tristate. DRM_TEGRA can not be set to tristate because it depends on unexported > host1x symbols (and possibly others). Fix by updating DRM_TEGRA dependency. > > Also, the DRM_TEGRA help text states that it can be built as module. > Remove that text since it is not (or no longer) correct. > > Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > drivers/gpu/drm/tegra/Kconfig | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) Hi Guenter, I think this should be fixed in latest next, where it is now possible to build the Tegra DRM driver as a module. All needed host1x symbols are exported as well. One thing that strikes me as odd, though, is that I've always thought Kconfig would warn if a symbol selected as =y depended on a symbol selected as =m, precisely because of what you describe above. menuconfig complains about it pretty loudly as well. Oh, but I see that if I change DRM_TEGRA back to be bool, then Kconfig doesn't complain anymore, even if DRM_TEGRA=y and DRM=m. Should that perhaps be considered a bug? Thierry
Attachment:
pgpSsnd38UhOf.pgp
Description: PGP signature