Re: [PATCH v6 01/37] fix missing vmalloc.h includes

Kent Overstreet
2024-04-03T21:42:10Z

On Wed, Apr 03, 2024 at 02:12:40PM -0700, Nathan Chancellor wrote:
> On Thu, Mar 21, 2024 at 09:36:23AM -0700, Suren Baghdasaryan wrote:
> > From: Kent Overstreet <kent.overstreet@linux.dev>
> >
> > The next patch drops vmalloc.h from a system header in order to fix
> > a circular dependency; this adds it to all the files that were pulling
> > it in implicitly.
> >
> > Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
> > Signed-off-by: Suren Baghdasaryan <surenb@google.com>
> > Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com>
>
> I bisected an error that I see when building ARCH=loongarch allmodconfig
> to commit 302519d9e80a ("asm-generic/io.h: kill vmalloc.h dependency")
> in -next, which tells me that this patch likely needs to contain
> something along the following lines, as LoongArch was getting
> include/linux/sizes.h transitively through the vmalloc.h include in
> include/asm-generic/io.h.

gcc doesn't appear to be packaged for loongarch for debian (most other
cross compilers are), so that's going to make it hard for me to test
anything...

>
> Cheers,
> Nathan
>
> In file included from arch/loongarch/include/asm/io.h:11,
> from include/linux/io.h:13,
> from arch/loongarch/mm/mmap.c:6:
> include/asm-generic/io.h: In function 'ioport_map':
> arch/loongarch/include/asm/addrspace.h:124:25: error: 'SZ_32M' undeclared (first use in this function); did you mean 'PS_32M'?
> 124 | #define PCI_IOSIZE SZ_32M
> | ^~~~~~
> arch/loongarch/include/asm/addrspace.h:126:26: note: in expansion of macro 'PCI_IOSIZE'
> 126 | #define IO_SPACE_LIMIT (PCI_IOSIZE - 1)
> | ^~~~~~~~~~
> include/asm-generic/io.h:1113:17: note: in expansion of macro 'IO_SPACE_LIMIT'
> 1113 | port &= IO_SPACE_LIMIT;
> | ^~~~~~~~~~~~~~
> arch/loongarch/include/asm/addrspace.h:124:25: note: each undeclared identifier is reported only once for each function it appears in
> 124 | #define PCI_IOSIZE SZ_32M
> | ^~~~~~
> arch/loongarch/include/asm/addrspace.h:126:26: note: in expansion of macro 'PCI_IOSIZE'
> 126 | #define IO_SPACE_LIMIT (PCI_IOSIZE - 1)
> | ^~~~~~~~~~
> include/asm-generic/io.h:1113:17: note: in expansion of macro 'IO_SPACE_LIMIT'
> 1113 | port &= IO_SPACE_LIMIT;
> | ^~~~~~~~~~~~~~
>
> diff --git a/arch/loongarch/include/asm/addrspace.h b/arch/loongarch/include/asm/addrspace.h
> index b24437e28c6e..7bd47d65bf7a 100644
> --- a/arch/loongarch/include/asm/addrspace.h
> +++ b/arch/loongarch/include/asm/addrspace.h
> @@ -11,6 +11,7 @@
> #define _ASM_ADDRSPACE_H
>
> #include <linux/const.h>
> +#include <linux/sizes.h>
>
> #include <asm/loongarch.h>
>