Re: [patch] drivers/media/video build fix for certain modular builds

From: Sam Ravnborg
Date: Fri May 16 2008 - 05:24:23 EST


On Fri, May 16, 2008 at 09:10:29AM +0200, Ingo Molnar wrote:
>
> testing of the -tip tree found the following missing symbols build bug:
>
> LD init/built-in.o
> LD .tmp_vmlinux1
> drivers/built-in.o: In function `vidioc_g_ctrl':
> radio-maxiradio.c:(.text+0xd3337): undefined reference to `video_devdata'
> drivers/built-in.o: In function `vidioc_g_frequency':
> radio-maxiradio.c:(.text+0xd3368): undefined reference to `video_devdata'
> drivers/built-in.o: In function `vidioc_s_ctrl':
> [...]
>
> which happens if certain media drivers are modular:
>
> http://redhat.com/~mingo/misc/config-Thu_May_15_18_10_27_CEST_2008.bad
>
> the problem is:
>
> CONFIG_VIDEO_MEDIA=m
> CONFIG_VIDEO_DEV=y
> CONFIG_RADIO_MAXIRADIO=y
> CONFIG_VIDEO_V4L2=y
>
> Connecting the build dependencies tree from drivers/media/ to
> drivers/media/video/ allows the built-in drivers(s) to pick up the
> CONFIG_VIDEO_DEV=y symbols.
>
> ---
> drivers/media/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux/drivers/media/Makefile
> ===================================================================
> --- linux.orig/drivers/media/Makefile
> +++ linux/drivers/media/Makefile
> @@ -2,7 +2,7 @@
> # Makefile for the kernel multimedia device drivers.
> #
>
> -obj-y := common/
> +obj-y := common/ video/
>
> obj-$(CONFIG_VIDEO_MEDIA) += common/
>

Adrian just posted a similar fix that I like better because it
cleans up the Makefile a bit.
The obj-$(CONFIG_VIDEO_MEDIA) += common/ assignment in the
above is for example now redundant.

But otherwise obviously correct.

Sam

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