Re: [PATCH 05/12] [media] dvb_frontend: merge duplicate dvb_tuner_ops.release implementations

From: Max Kellermann
Date: Wed Aug 10 2016 - 16:11:58 EST


On 2016/08/10 01:01, kbuild test robot <lkp@xxxxxxxxx> wrote:
> url: https://github.com/0day-ci/linux/commits/Max-Kellermann/rc-main-clear-rc_map-name-in-ir_free_table/20160810-054811
> base: git://linuxtv.org/media_tree.git master
> config: i386-randconfig-n0-201632 (attached as .config)
> compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All errors (new ones prefixed by >>):
>
> >> drivers/built-in.o:(.rodata+0x55f58): undefined reference to `dvb_tuner_simple_release'
> drivers/built-in.o:(.rodata+0x56038): undefined reference to `dvb_tuner_simple_release'
> drivers/built-in.o:(.rodata+0x56618): undefined reference to `dvb_tuner_simple_release'
> drivers/built-in.o:(.rodata+0x566f8): undefined reference to `dvb_tuner_simple_release'
> drivers/built-in.o:(.rodata+0x57998): undefined reference to `dvb_tuner_simple_release'

This configuration breaks because there is no dependency from those
tuners to dvb_frontend.c (where dvb_tuner_simple_release). However,
without dvb_frontend.c, there is no user of such a tuner, and this
configuration doesn't make sense.

Before I spend time on fixing this, I'd like to know if this patch has
a chance to be merged, or if you generally reject my idea of folding
duplicate code.

Two solutions come to my mind:

1.) add a dependency

2.) move dvb_tuner_simple_release() to a new library, which all tuner
implementations depend on (which may some day have more common
tuner code)

Opinions?

Max