drivers/media/video build fix for certain modular builds
PATCH 1/1 drivers/media/video build fix for certain modular builds
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=yConnecting 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(-)
drivers/media/Makefile +1 -1
@@ -2,7 +2,7 @@ # Makefile for the kernel multimedia device drivers. # -obj-y := common/ +obj-y := common/ video/ obj-$(CONFIG_VIDEO_MEDIA) += common/
Quoted 36 lines · Ingo Molnar
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 tovideo_devdata' drivers/built-in.o: In functionvidioc_g_frequency':
radio-maxiradio.c:(.text+0xd3368): undefined reference tovideo_devdata' drivers/built-in.o: In functionvidioc_s_ctrl':
[...]which happens if certain media drivers are modular:
http://redhat.com/~mingo/misc/config-Thu_May_15_18_10_27_CEST_2008.badthe problem is:
CONFIG_VIDEO_MEDIA=m CONFIG_VIDEO_DEV=y CONFIG_RADIO_MAXIRADIO=y CONFIG_VIDEO_V4L2=yConnecting the build dependencies tree from
drivers/media/todrivers/media/video/allows the built-in drivers(s) to pick up theCONFIG_VIDEO_DEV=ysymbols.--- drivers/media/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)Index: linux/drivers/media/Makefile
===================================================================
drivers/media/Makefile line 8
Quoted 8 lines
drivers/media/Makefile +1
-1@@ -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
Ingo Molnar
Acked-byQuoted 51 lines · Sam Ravnborg
Quoted 36 lines · Ingo Molnar
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 tovideo_devdata' drivers/built-in.o: In functionvidioc_g_frequency':
radio-maxiradio.c:(.text+0xd3368): undefined reference tovideo_devdata' drivers/built-in.o: In functionvidioc_s_ctrl':
[...]which happens if certain media drivers are modular:
http://redhat.com/~mingo/misc/config-Thu_May_15_18_10_27_CEST_2008.badthe problem is:
CONFIG_VIDEO_MEDIA=m CONFIG_VIDEO_DEV=y CONFIG_RADIO_MAXIRADIO=y CONFIG_VIDEO_V4L2=yConnecting the build dependencies tree from
drivers/media/todrivers/media/video/allows the built-in drivers(s) to pick up theCONFIG_VIDEO_DEV=ysymbols.--- drivers/media/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)Index: linux/drivers/media/Makefile
===================================================================drivers/media/Makefile line 8
Quoted 8 lines
drivers/media/Makefile +1
-1@@ -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
Makefilea bit.
The obj-$(CONFIG_VIDEO_MEDIA) += common/ assignment in the above is for example now redundant.
Quoted 1 line
But otherwise obviously correct.
sure enough, i went for the minimal fix. Adrian's patch looks good too.
Ingo
PATCH 1/1 dvb/usb: input layer dependency fixes
In reply to Ingo Molnartesting of the -tip tree found the following build failures on 2.6.26-rc3:
drivers/built-in.o: In function `ttusb_dec_disconnect':
ttusb_dec.c:(.text+0xa2c95): undefined reference to `input_unregister_device'
drivers/built-in.o: In function `dvb_usb_read_remote_control':
dvb-usb-remote.c:(.text+0xa6a94): undefined reference to `input_event'
with this config:
http://redhat.com/~mingo/misc/config-Tue_May_20_03_48_57_CEST_2008.bad
these are due to the media/dvb/usb layer having dependencies on INPUT functionality, without having that spelled out in the Kconfig file.
this patch makes that dependency explicit (for the drivers affected), which solves the build error.
--- drivers/media/dvb/dvb-usb/Kconfig | 2 +- drivers/media/dvb/ttusb-dec/Kconfig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/media/dvb/dvb-usb/Kconfig +1 -1
@@ -1,6 +1,6 @@ config DVB_USB tristate "Support for various USB DVB devices" - depends on DVB_CORE && USB && I2C + depends on DVB_CORE && USB && I2C && INPUT depends on HOTPLUG # due to FW_LOADER select FW_LOADER help
drivers/media/dvb/ttusb-dec/Kconfig +1 -1
@@ -1,6 +1,6 @@ config DVB_TTUSB_DEC tristate "Technotrend/Hauppauge USB DEC devices" - depends on DVB_CORE && USB + depends on DVB_CORE && USB && INPUT depends on HOTPLUG # due to FW_LOADER select FW_LOADER select CRC32