Hi all,
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.
--
Cheers,
Stephen Rothwell
Hi Stephen,
On 20-03-13 13:19, Stephen Rothwell wrote:
> Hi all,
>
> 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.
I'm sorry for that. I put my branch on our 0day to test most of the
compile configs. Obviously this casae wasn't covered..
@Sakari
I will send a patch to fix this by adding:
EXPORT_SYMBOL_GPL(fwnode_get_name).
Regards,
Marco
Em Fri, 13 Mar 2020 07:48:07 +0100
Marco Felsch <[email protected]> escreveu:
> Hi Stephen,
>
> On 20-03-13 13:19, Stephen Rothwell wrote:
> > Hi all,
> >
> > 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.
>
> I'm sorry for that. I put my branch on our 0day to test most of the
> compile configs. Obviously this casae wasn't covered..
>
> @Sakari
> I will send a patch to fix this by adding:
> EXPORT_SYMBOL_GPL(fwnode_get_name).
There is already such patch at next-20200312:
$ git show a7914d1072fb8ddeb2ec87bba1d28812483a3565
commit a7914d1072fb8ddeb2ec87bba1d28812483a3565
Author: Heikki Krogerus <[email protected]>
Date: Mon Mar 2 16:53:51 2020 +0300
device property: Export fwnode_get_name()
This makes it possible to take advantage of the function in
the device drivers.
Signed-off-by: Heikki Krogerus <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
diff --git a/drivers/base/property.c b/drivers/base/property.c
index 511f6d7acdfe..5f35c0ccf5e0 100644
--- a/drivers/base/property.c
+++ b/drivers/base/property.c
@@ -566,6 +566,7 @@ const char *fwnode_get_name(const struct fwnode_handle *fwnode)
{
return fwnode_call_ptr_op(fwnode, get_name);
}
+EXPORT_SYMBOL_GPL(fwnode_get_name);
/**
* fwnode_get_name_prefix - Return the prefix of node for printing purposes
Thanks,
Mauro
Em Fri, 13 Mar 2020 13:19:03 +1100
Stephen Rothwell <[email protected]> escreveu:
> Hi all,
>
> 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()")
Thanks,
Mauro
On 20-03-13 08:05, Mauro Carvalho Chehab wrote:
> Em Fri, 13 Mar 2020 07:48:07 +0100
> Marco Felsch <[email protected]> escreveu:
>
> > Hi Stephen,
> >
> > On 20-03-13 13:19, Stephen Rothwell wrote:
> > > Hi all,
> > >
> > > 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.
> >
> > I'm sorry for that. I put my branch on our 0day to test most of the
> > compile configs. Obviously this casae wasn't covered..
> >
> > @Sakari
> > I will send a patch to fix this by adding:
> > EXPORT_SYMBOL_GPL(fwnode_get_name).
>
> There is already such patch at next-20200312:
You're right. This answers my question why I got no build errors..
Regards,
Marco
> $ git show a7914d1072fb8ddeb2ec87bba1d28812483a3565
> commit a7914d1072fb8ddeb2ec87bba1d28812483a3565
> Author: Heikki Krogerus <[email protected]>
> Date: Mon Mar 2 16:53:51 2020 +0300
>
> device property: Export fwnode_get_name()
>
> This makes it possible to take advantage of the function in
> the device drivers.
>
> Signed-off-by: Heikki Krogerus <[email protected]>
> Acked-by: Rafael J. Wysocki <[email protected]>
> Link: https://lore.kernel.org/r/[email protected]
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
>
> diff --git a/drivers/base/property.c b/drivers/base/property.c
> index 511f6d7acdfe..5f35c0ccf5e0 100644
> --- a/drivers/base/property.c
> +++ b/drivers/base/property.c
> @@ -566,6 +566,7 @@ const char *fwnode_get_name(const struct fwnode_handle *fwnode)
> {
> return fwnode_call_ptr_op(fwnode, get_name);
> }
> +EXPORT_SYMBOL_GPL(fwnode_get_name);
>
> /**
> * fwnode_get_name_prefix - Return the prefix of node for printing purposes
>
>
>
>
> Thanks,
> Mauro
Hi Mauro,
On Fri, 13 Mar 2020 08:07:35 +0100 Mauro Carvalho Chehab <[email protected]> wrote:
>
> Em Fri, 13 Mar 2020 13:19:03 +1100
> Stephen Rothwell <[email protected]> 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
Em Fri, 13 Mar 2020 08:07:35 +0100
Mauro Carvalho Chehab <[email protected]> escreveu:
> Em Fri, 13 Mar 2020 13:19:03 +1100
> Stephen Rothwell <[email protected]> escreveu:
>
> > Hi all,
> >
> > 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);
...
> 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()")
I ended by cherry-picking this patch, applying it today on my tree.
Hopefully, this would avoid build problems and won't cause non-trivial
merge conflicts.
Thanks,
Mauro