• Mauro Carvalho Chehab's avatar
    [media] dib7000: export just one symbol · 8abe4a0a
    Mauro Carvalho Chehab authored
    Exporting multiple symbols don't work as it causes compilation
    breakages, due to the way dvb_attach() works.
    
    This were reported several times, like:
    
       drivers/built-in.o: In function `cxusb_dualdig4_rev2_tuner_attach':
    >> cxusb.c:(.text+0x27d4b5): undefined reference to `dib7000p_get_i2c_master'
       drivers/built-in.o: In function `dib7070_set_param_override':
       cxusb.c:(.text+0x27d5a5): undefined reference to `dib0070_wbd_offset'
    >> cxusb.c:(.text+0x27d5be): undefined reference to `dib7000p_set_wbd_ref'
       drivers/built-in.o: In function `dib7070_tuner_reset':
    >> cxusb.c:(.text+0x27d5f9): undefined reference to `dib7000p_set_gpio'
       drivers/built-in.o: In function `cxusb_dualdig4_rev2_frontend_attach':
    >> cxusb.c:(.text+0x27df5c): undefined reference to `dib7000p_i2c_enumeration'
    
    In this specific report:
    	CONFIG_DVB_USB_CXUSB=y
    	CONFIG_DVB_DIB7000P=m
    
    But the same type of bug can happen if:
    	CONFIG_DVB_DIB7000P=m
    and one of the bridge drivers is compiled builtin (cxusb, cx23885-dvb
    and/or dib0700).
    
    As a bonus, dib7000p won't be loaded anymore if the device uses
    a different frontend, reducing the memory footprint.
    
    Tested with Hauppauge Nova-TD (2 frontends).
    Reported-by: default avatarFengguang Wu <fengguang.wu@intel.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
    8abe4a0a
cx23885-dvb.c 40.4 KB