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

From: Nathan Chancellor
Date: Wed Apr 03 2024 - 17:12:57 EST


On Thu, Mar 21, 2024 at 09:36:23AM -0700, Suren Baghdasaryan wrote:
> From: Kent Overstreet <kent.overstreet@xxxxxxxxx>
>
> 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@xxxxxxxxx>
> Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
> Reviewed-by: Pasha Tatashin <pasha.tatashin@xxxxxxxxxx>

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.

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>