Re: [PATCH] drm/tegra: Fix Kconfig dependencies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/08/2014 05:29 AM, Thierry Reding wrote:
On Mon, Jan 06, 2014 at 08:20:55AM -0800, Guenter Roeck wrote:
On Mon, Jan 06, 2014 at 04:39:47PM +0100, Thierry Reding wrote:
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?

No idea. All I know is that it causes a build failure ;-).

Anyway, are there plans to push the patches changing DRM_TEGRA to tristate
into 3.13 ? This is one of the reasons for arm:allmodconfig to fail. If there
are no plans to push the patches into 3.13, I think it would make sense
to send my patch to Linus and apply the tristate changes on top of it.

The patches to change DRM_TEGRA to tristate are part of what is queued
for 3.14. While I agree that having allmodconfig working is a worthwhile
goal in itself for build testing, I'm not sure it warrants a patch this
late in the release cycle that will cause conflicts during the merge
window.

It also seems like there are other issues that prevent allmodconfig to
build successfully on ARM not all of them being as easy to fix as this
one.


All other problems are being addressed.

If arm:allmodconfig is not pursued as buildable, trying to build it is worthless,
and I'll drop it from my list of test builds for -stable. Thanks for letting me know.

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux