Re: Build error on 5.5.10 after activating v4l in .config

From: Mauro Carvalho Chehab
Date: Mon Mar 23 2020 - 06:21:52 EST


Em Mon, 23 Mar 2020 10:44:42 +0100
Martin Knoblauch <knobi@xxxxxxxxxxxx> escreveu:

> On Fri, Mar 20, 2020 at 4:13 PM Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> wrote:
>
> > Em Fri, 20 Mar 2020 15:56:16 +0100
> > Martin Knoblauch <knobi@xxxxxxxxxxxx> escreveu:
> >
> > > Hi, (sesending without attachment)
> > >
> > > today I tried to build 5.5.10 based on a working 5.5.6 configuration. I
> > > also enabled v4l in the configuration using menuconfig. This resulted in
> > > the following build error:
> > >
> > > AS arch/x86/boot/compressed/efi_thunk_64.o
> > > CC arch/x86/boot/compressed/misc.o
> > > XZKERN arch/x86/boot/compressed/vmlinux.bin.xz
> > > ERROR: "__devm_regmap_init_i2c" [drivers/media/i2c/tvp5150.ko] undefined!
> > > make[1]: *** [scripts/Makefile.modpost:94: __modpost] Error 1
> > > make: *** [Makefile:1282: modules] Error 2
> > > make: *** Waiting for unfinished jobs....
> > >
> > > After some searching the universal support tool, I applied the following
> > > patch:
> > >
> > > --- ./drivers/media/i2c/Kconfig-orig 2020-03-18 13:57:30.288639392 +0100
> > > +++ ./drivers/media/i2c/Kconfig 2020-03-18 16:44:03.938384192 +0100
> > > @@ -378,6 +378,7 @@
> > > config VIDEO_TVP5150
> > > tristate "Texas Instruments TVP5150 video decoder"
> > > depends on VIDEO_V4L2 && I2C
> > > + select REGMAP_I2C
> > > select V4L2_FWNODE
> > > help
> > > Support for the Texas Instruments TVP5150 video decoder.
> > >
> > > This made my build work again. But I am absolutely not sure this is the
> > > right fix or whether it is complete.
> >
> > Yes, it is. There are other places where the same select is needed.
> >
> > There's already a patch upstream (linux-next) addressing this issue.
> >
> > It should be merged for 5.7.
> >
> > Regards,
> > Mauro
> >
>
> Hi Mauro,
>
> so I had the same issue again with 5.5.11 (expected). In order to avoid
> keeping a local patch until 5.5.7, I tried to deselect the driver. But it
> seems I cannot. Only options I have for it are "M" or "*". So, what makes
> this device different from e.g. TVP514x? I do not have the TVP5150 and the
> driver is also not loaded. To me it seems the forced selection should not
> happen in the first place ?

Some other driver you selected may support boards with tvp5150. By default,
it will auto-select all possible dependencies.

You can disable MEDIA_SUBDRV_AUTOSELECT. Please notice, however, that this
may break support for some hardware.

Thanks,
Mauro