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

From: Mauro Carvalho Chehab <[email-masked]>
Date: Mon, 8 Feb 2021 10:14:17 +0100

Em Mon, 8 Feb 2021 09:52:22 +0100
Geert Uytterhoeven <[email-masked]> escreveu:

> Hi Mauro,
> 
> On Mon, Feb 8, 2021 at 9:49 AM Mauro Carvalho Chehab <[email-masked]> wrote:
> > Em Mon, 8 Feb 2021 09:33:14 +0100
> > Geert Uytterhoeven <[email-masked]> escreveu:  
> > > On Mon, Feb 8, 2021 at 7:35 AM Mauro Carvalho Chehab <[email-masked]> wrote:  
> > > > Em Mon, 8 Feb 2021 11:32:08 +1100
> > > > Stephen Rothwell <[email-masked]> 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