Re: linux-next: build warning after merge of the v4l-dvb tree

From: Mauro Carvalho Chehab
Date: Mon Feb 08 2021 - 04:35:36 EST


Em Mon, 8 Feb 2021 09:52:22 +0100
Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> escreveu:

> Hi Mauro,
>
> On Mon, Feb 8, 2021 at 9:49 AM Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> wrote:
> > Em Mon, 8 Feb 2021 09:33:14 +0100
> > Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> escreveu:
> > > On Mon, Feb 8, 2021 at 7:35 AM Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> wrote:
> > > > Em Mon, 8 Feb 2021 11:32:08 +1100
> > > > Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> escreveu:
> > > >
> > > > > After merging the v4l-dvb tree, today's linux-next build (x86_64
> > > > > allmodconfig) produced this warning:
> > > > >
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_set_serial_link' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_configure_i2c' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_set_high_threshold' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_configure_gmsl_link' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_set_gpios' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_clear_gpios' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_enable_gpios' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_disable_gpios' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_verify_id' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_set_address' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_set_deserializer_address' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > > WARNING: modpost: drivers/media/i2c/rdacm21-camera_module: 'max9271_set_translation' exported twice. Previous export was in drivers/media/i2c/rdacm20-camera_module.ko
> > > > >
> > > > > Introduced by commit
> > > > >
> > > > > a59f853b3b4b ("media: i2c: Add driver for RDACM21 camera module")
> > > > >
> > > >
> > > > It sounds to be due to a Makefile mess:
> > > >
> > > > drivers/media/i2c/Makefile:rdacm20-camera_module-objs := rdacm20.o max9271.o
> > > > drivers/media/i2c/Makefile:rdacm21-camera_module-objs := rdacm21.o max9271.o
> > > >
> > > > Neither drivers should be including max9271.o as their objects, but, instead,
> > > > be addressing max9271 dependency via Kconfig.
> > >
> > > Wouldn't
> > >
> > > obj-$(CONFIG_VIDEO_RDACM20) += rdacm20.o max9271.o
> > > obj-$(CONFIG_VIDEO_RDACM21) += rdacm21.o max9271.o
> > >
> > > work, too?
> >
> > Not 100% sure, but I guess this would cause problems with allyesconfig.
>
> Duplicates will be filtered out.
> An example using this method is drivers/net/ethernet/8390/Makefile.

Good to know!

From my side, I prefer that support for different chips would have
their own Kconfig vars. It seems to document better what's
happening there.

Thanks,
Mauro