Michael Ellerman <m...@ellerman.id.au> writes: > Yury Norov <yury.no...@gmail.com> writes: >> archrandom.h includes <asm/machdep.h> to refer ppc_md. This causes >> circular header dependency, if generic nodemask.h includes random.h: >> >> In file included from include/linux/cred.h:16, >> from include/linux/seq_file.h:13, >> from arch/powerpc/include/asm/machdep.h:6, >> from arch/powerpc/include/asm/archrandom.h:5, >> from include/linux/random.h:109, >> from include/linux/nodemask.h:97, >> from include/linux/list_lru.h:12, >> from include/linux/fs.h:13, >> from include/linux/compat.h:17, >> from arch/powerpc/kernel/asm-offsets.c:12: >> include/linux/sched.h:1203:9: error: unknown type name 'nodemask_t' >> 1203 | nodemask_t mems_allowed; >> | ^~~~~~~~~~ >> >> Fix it by removing <asm/machdep.h> dependency from archrandom.h >> >> Signed-off-by: Yury Norov <yury.no...@gmail.com> >> --- >> arch/powerpc/include/asm/archrandom.h | 9 +-------- >> arch/powerpc/kernel/setup-common.c | 11 +++++++++++ >> 2 files changed, 12 insertions(+), 8 deletions(-) >> >> diff --git a/arch/powerpc/include/asm/archrandom.h >> b/arch/powerpc/include/asm/archrandom.h >> index 9a53e29680f4..21def59ef1a6 100644 >> --- a/arch/powerpc/include/asm/archrandom.h >> +++ b/arch/powerpc/include/asm/archrandom.h >> @@ -4,7 +4,7 @@ >> >> #ifdef CONFIG_ARCH_RANDOM >> >> -#include <asm/machdep.h> >> +bool __must_check arch_get_random_seed_long(unsigned long *v); >> >> static inline bool __must_check arch_get_random_long(unsigned long *v) >> { >> @@ -16,13 +16,6 @@ static inline bool __must_check >> arch_get_random_int(unsigned int *v) >> return false; >> } >> >> -static inline bool __must_check arch_get_random_seed_long(unsigned long *v) >> -{ >> - if (ppc_md.get_random_seed) >> - return ppc_md.get_random_seed(v); >> - >> - return false; >> -} > > I'd rather we didn't have to force this out of line. > > I think I see a different way to fix it, I'll just do some more build > tests.
Of course my idea didn't work :} So I'll just ack your patch for now, and maybe I can get the headers cleaned up in future to allow it to be out-of-line again. cheers