diff mbox

[MEDIA] dvb: usb: fix dib3000mc dependencies

Message ID 3984729.n55BH9Zr8c@wuerfel (mailing list archive)
State New, archived
Headers show

Commit Message

Arnd Bergmann Nov. 17, 2015, 4:17 p.m. UTC
The dibusb_read_eeprom_byte function is defined in dibusb-common.c,
but that file is not compiled for CONFIG_DVB_USB_DIBUSB_MB as it
is for the other driver using the common functions, so we can
get a link error:

drivers/built-in.o: In function `dibusb_dib3000mc_tuner_attach':
(.text+0x2c5124): undefined reference to `dibusb_read_eeprom_byte'
(.text+0x2c5134): undefined reference to `dibusb_read_eeprom_byte'

This changes the Makefile to treat the file like all the others
in this directory, and enforce building dvb-usb-dibusb-common.o
as a dependency.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>


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

Comments

Arnd Bergmann Nov. 17, 2015, 4:24 p.m. UTC | #1
On Tuesday 17 November 2015 17:17:39 Arnd Bergmann wrote:
> The dibusb_read_eeprom_byte function is defined in dibusb-common.c,
> but that file is not compiled for CONFIG_DVB_USB_DIBUSB_MB as it
> is for the other driver using the common functions, so we can
> get a link error:
> 
> drivers/built-in.o: In function `dibusb_dib3000mc_tuner_attach':
> (.text+0x2c5124): undefined reference to `dibusb_read_eeprom_byte'
> (.text+0x2c5134): undefined reference to `dibusb_read_eeprom_byte'
> 
> This changes the Makefile to treat the file like all the others
> in this directory, and enforce building dvb-usb-dibusb-common.o
> as a dependency.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 

I just realized that this depends on another patch I've sent back
in April, so that is probably no longer in the patch queue. Please
disregard for now.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mauro Carvalho Chehab Nov. 17, 2015, 7 p.m. UTC | #2
Em Tue, 17 Nov 2015 17:24:23 +0100
Arnd Bergmann <arnd@arndb.de> escreveu:

> On Tuesday 17 November 2015 17:17:39 Arnd Bergmann wrote:
> > The dibusb_read_eeprom_byte function is defined in dibusb-common.c,
> > but that file is not compiled for CONFIG_DVB_USB_DIBUSB_MB as it
> > is for the other driver using the common functions, so we can
> > get a link error:
> > 
> > drivers/built-in.o: In function `dibusb_dib3000mc_tuner_attach':
> > (.text+0x2c5124): undefined reference to `dibusb_read_eeprom_byte'
> > (.text+0x2c5134): undefined reference to `dibusb_read_eeprom_byte'
> > 
> > This changes the Makefile to treat the file like all the others
> > in this directory, and enforce building dvb-usb-dibusb-common.o
> > as a dependency.
> > 
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > 
> 
> I just realized that this depends on another patch I've sent back
> in April, so that is probably no longer in the patch queue. Please
> disregard for now.

Hi Arnd,

The better way to fix it is to do a patch like this one:
	http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=8abe4a0a3f6d4217b16a1a3f68cd5c72ab5a058e

The problem with those dib drivers is that there's no way to latter
remove them with rmmod. Using the above techinique, not only ranconfig
compilation will work, but it will also allow module remove and having
drivers with some frontends disabled.

The drawback is that it is not a very trivial patch, so I did the
changes only for devices that I have (all based on dib0700).

Unfortunately, I don't have any device currently based on dib3000.
I could work on such patchset, but someone would need to test it ;)

Regards,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/media/usb/dvb-usb/Makefile b/drivers/media/usb/dvb-usb/Makefile
index 8da26352f73b..048ab0b6c36d 100644
--- a/drivers/media/usb/dvb-usb/Makefile
+++ b/drivers/media/usb/dvb-usb/Makefile
@@ -17,7 +17,7 @@  obj-$(CONFIG_DVB_USB_DTT200U) += dvb-usb-dtt200u.o
 dvb-usb-dibusb-common-objs := dibusb-common.o
 
 dvb-usb-dibusb-mc-common-objs := dibusb-mc-common.o
-obj-$(CONFIG_DVB_USB_DIB3000MC)	+= dvb-usb-dibusb-mc-common.o
+obj-$(CONFIG_DVB_USB_DIB3000MC)	+= dvb-usb-dibusb-common.o dvb-usb-dibusb-mc-common.o
 
 dvb-usb-a800-objs := a800.o
 obj-$(CONFIG_DVB_USB_A800) += dvb-usb-dibusb-common.o dvb-usb-a800.o