Re: [next] mips-mt.c:233:19: error: conflicting types for 'mt_init'

From: Liam Howlett
Date: Mon Mar 07 2022 - 14:16:30 EST


Hello Randy,

I did address this when it occurred on the 24th [1]. I had looked at
this and was thinking I would rename the maple tree function, but
Matthew suggested renaming the mips function instead. I looked into the
conflict and the arch/mips/kernel/mips-mt.c uses the mips_ prefix for
almost all of the functions. So I generated a patch on my tree for
next-20220225 which fixes the issue by renaming the mips side of things.
Please see 51e773764d11 for the very small rename.

[1]
https://lore.kernel.org/linux-mm/202202241817.MXoE0NcM-lkp@xxxxxxxxx/

Thanks,
Liam

* Randy Dunlap <rdunlap@xxxxxxxxxxxxx> [220305 22:50]:
> Hi Liam,
>
> Would you consider renaming maple tree's "mt_init()" function to
> maple_tree_init() or mtree_init() or something that does not
> conflict with the mt_init() function in arch/mips/ so that
> these build errors don't happen?
>
> thanks.
>
> On 2/24/22 23:09, Naresh Kamboju wrote:
> > [Please ignore this email if it is already reported]
> >
> > Linux next-20220224 arch mips build errors / warnings noticed [1].
> >
> > Build configs:
> > - mips-gcc-8-malta_defconfig
> > - mips-gcc-10-malta_defconfig
> > - mips-gcc-8-defconfig
> > - mips-gcc-10-defconfig
> >
> > metadata:
> > git_repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
> > git_sha: 44948bd49d878dad6c9707e34f4a06df73c3a800
> > git_short_log: 44948bd49d87 (\Add linux-next specific files for 20220224\)
> > kconfig: defconfig
> > target_arch: mips
> > toolchain: gcc-10
> >
> >
> > Build errors / warnings:
> >
> > arch/mips/kernel/mips-mt.c:233:19: error: conflicting types for 'mt_init'
> > 233 | static int __init mt_init(void)
> > | ^~~~~~~
> > In file included from include/linux/mm_types.h:12,
> > from include/linux/mmzone.h:21,
> > from include/linux/gfp.h:6,
> > from include/linux/radix-tree.h:12,
> > from include/linux/idr.h:15,
> > from include/linux/kernfs.h:12,
> > from include/linux/sysfs.h:16,
> > from include/linux/kobject.h:20,
> > from include/linux/energy_model.h:7,
> > from include/linux/device.h:16,
> > from arch/mips/kernel/mips-mt.c:7:
> > include/linux/maple_tree.h:589:20: note: previous definition of
> > 'mt_init' was here
> > 589 | static inline void mt_init(struct maple_tree *mt)
> > | ^~~~~~~
> > make[3]: *** [scripts/Makefile.build:288: arch/mips/kernel/mips-mt.o] Error 1
> >
> > Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
> >
> > Steps to reproduce:
> > ------------------
> > # To install tuxmake on your system globally:
> > # sudo pip3 install -U tuxmake
> >
> > tuxmake --runtime podman --target-arch mips --toolchain gcc-10
> > --kconfig defconfig
> >
> > --
> >
> > [1] https://builds.tuxbuild.com/25aFF2X7uoyebURaYzNHW9FVEmN/
>
> --
> ~Randy