V4L/DVB: tm6000: fix build errors
authorRandy Dunlap <randy.dunlap@oracle.com>
Wed, 10 Feb 2010 17:53:57 +0000 (14:53 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 18 May 2010 03:43:57 +0000 (00:43 -0300)
(1) tm6000 uses usb_*() interfaces, so it should depend on USB.

drivers/built-in.o: In function `tm6000_usb_disconnect':
tm6000-cards.c:(.text+0x4abb44): undefined reference to `usb_put_dev'
drivers/built-in.o: In function `tm6000_usb_probe':
tm6000-cards.c:(.text+0x4ac923): undefined reference to `usb_get_dev'
tm6000-cards.c:(.text+0x4ac93c): undefined reference to `usb_set_interface'
drivers/built-in.o: In function `tm6000_read_write_usb':
(.text+0x4ad274): undefined reference to `usb_control_msg'
drivers/built-in.o: In function `tm6000_uninit_isoc':
tm6000-video.c:(.text+0x4b00d5): undefined reference to `usb_kill_urb'
tm6000-video.c:(.text+0x4b00e4): undefined reference to `usb_unlink_urb'
tm6000-video.c:(.text+0x4b013c): undefined reference to `usb_buffer_free'
tm6000-video.c:(.text+0x4b014b): undefined reference to `usb_free_urb'
drivers/built-in.o: In function `tm6000_prepare_isoc':
tm6000-video.c:(.text+0x4b0773): undefined reference to `usb_alloc_urb'
tm6000-video.c:(.text+0x4b0835): undefined reference to `usb_buffer_alloc'
drivers/built-in.o: In function `tm6000_irq_callback':
tm6000-video.c:(.text+0x4b1ad3): undefined reference to `usb_submit_urb'
drivers/built-in.o: In function `tm6000_module_init':
tm6000-cards.c:(.init.text+0x24499): undefined reference to `usb_register_driver'
drivers/built-in.o: In function `tm6000_module_exit':
tm6000-cards.c:(.exit.text+0x5cb0): undefined reference to `usb_deregister'

(2) tm6000-alsa uses interfaces from tm6000-core, so when they are
both built as modules, the core interfaces need to be exported.

ERROR: "tm6000_set_reg" [drivers/staging/tm6000/tm6000-alsa.ko] undefined!
ERROR: "tm6000_get_reg" [drivers/staging/tm6000/tm6000-alsa.ko] undefined!

Cc: linux-next@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>, linux-media@vger.kernel.org
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Michel Ludwig <michel.ludwig@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/staging/tm6000/Kconfig
drivers/staging/tm6000/tm6000-core.c

index cb20115363634ff1b0cf31f57beac07a3deb4835..5fe759cc2ee9bab49d53648efea14245d288ed7a 100644 (file)
@@ -1,6 +1,6 @@
 config VIDEO_TM6000
        tristate "TV Master TM5600/6000/6010 driver"
-       depends on VIDEO_DEV && I2C && INPUT && EXPERIMENTAL
+       depends on VIDEO_DEV && I2C && INPUT && USB && EXPERIMENTAL
        select VIDEO_TUNER
        select TUNER_XC2028
        select VIDEOBUF_VMALLOC
index 9d66a3fc091d3495375ee8af138eca8aee40172d..afd03929e5a8da8431f8b4c90e5bb0de0b3c0948 100644 (file)
@@ -108,6 +108,7 @@ int tm6000_set_reg (struct tm6000_core *dev, u8 req, u16 value, u16 index)
                tm6000_read_write_usb (dev, USB_DIR_OUT | USB_TYPE_VENDOR,
                                       req, value, index, NULL, 0);
 }
+EXPORT_SYMBOL_GPL(tm6000_set_reg);
 
 int tm6000_get_reg (struct tm6000_core *dev, u8 req, u16 value, u16 index)
 {
@@ -122,6 +123,7 @@ int tm6000_get_reg (struct tm6000_core *dev, u8 req, u16 value, u16 index)
 
        return *buf;
 }
+EXPORT_SYMBOL_GPL(tm6000_get_reg);
 
 int tm6000_get_reg16 (struct tm6000_core *dev, u8 req, u16 value, u16 index)
 {