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

From: Stephen Rothwell <[email-masked]>
Date: Fri, 13 Mar 2020 21:29:55 +1100

Hi Mauro,

On Fri, 13 Mar 2020 08:07:35 +0100 Mauro Carvalho Chehab <[email-masked]> wrote:
>
> Em Fri, 13 Mar 2020 13:19:03 +1100
> Stephen Rothwell <[email-masked]> escreveu:
> 
> > After merging the v4l-dvb tree, today's linux-next build (arm
> > multi_v7_defconfig) failed like this:
> > 
> > ERROR: modpost: "fwnode_get_name" [drivers/media/v4l2-core/v4l2-fwnode.ko] undefined!
> > 
> > Caused by commit
> > 
> >   dfc22c073b78 ("media: v4l2-fwnode: add initial connector parsing support")
> > 
> > I have used the v4l-dvb tree from next-20200312 for today.  
>  
> Hmm... I double-checked at next-20200312. This function is defined
> at linux/property.h header:
> 
> 	include/linux/property.h:const char *fwnode_get_name(const struct fwnode_handle *fwnode);
> 
> Its implementation is at drivers/base/property.c, and this is always
> built, according with drivers/base/Makefile:
> 
> 	obj-y			:= component.o core.o bus.o dd.o syscore.o \
> 				   driver.o class.o platform.o \
> 				   cpu.o firmware.o init.o map.o devres.o \
> 				   attribute_container.o transport_class.o \
> 				   topology.o container.o property.o cacheinfo.o \
> 				   devcon.o swnode.o
> 
> The v4l2-fwnode.c properly includes include/linux/property.h.
> 
> So, at least up to next-20200312, everything looks fine on my eyes.
> 
> The header is probably there, as the error happened at link stage.
> 
> Maybe there is some merge conflict caused by merging a patch from
> some other tree that might have renamed or removed its implementation
> after next-20200312, or changed from obj-y target?
> 
> Or maybe this changeset got reverted?
> 
> 	a7914d1072fb ("device property: Export fwnode_get_name()")

Unfortunately, that commit is in the usb tree which I merge much later
than the v4l-dvb tree.  You should not develop against linux-next, and
you should test your tree standalone as you do not know in which order
the trees will be merged by Linus (or me).  The solutions here include
cherry-picking the commit into the v4l-dvb tree (since it is such a
simple commit and should not cause any complex conflicts) or merge part
of the usb tree into the v4l-dvb tree (which is possible since Greg
never rebases his tree).

-- 
Cheers,
Stephen Rothwell