• Arnd Bergmann's avatar
    media: dib0700: fix link error for dibx000_i2c_set_speed · 765bb861
    Arnd Bergmann authored
    When CONFIG_DVB_DIB9000 is disabled, we can still compile code that
    now fails to link against dibx000_i2c_set_speed:
    
    drivers/media/usb/dvb-usb/dib0700_devices.o: In function `dib01x0_pmu_update.constprop.7':
    dib0700_devices.c:(.text.unlikely+0x1c9c): undefined reference to `dibx000_i2c_set_speed'
    
    The call sites are both through dib01x0_pmu_update(), which gets passed
    an 'i2c' pointer from dib9000_get_i2c_master(), which has returned
    NULL. Checking this pointer seems to be a good idea anyway, and it avoids
    the link failure in most cases.
    
    Sean Young found another case that is not fixed by that, where certain
    gcc versions leave an unused function in place that causes the link error,
    but adding an explict IS_ENABLED() check also solves this.
    
    Fixes: b7f54910 ("V4L/DVB (4647): Added module for DiB0700 based devices")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarSean Young <sean@mess.org>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
    765bb861
dib0700_devices.c 141 KB