On 12/02/2019 04:39, Matthew Wilcox wrote:
On Tue, Feb 12, 2019 at 01:27:38AM +0200, Igor Stoppa wrote:
+#ifndef CONFIG_PRMEM
[...]
+#else
+
+#include <linux/mm.h>
It's a mistake to do conditional includes like this. That way you see
include loops with some configs and not others. Our headers are already
so messy, better to just include mm.h unconditionally.
ok
Can I still do the following, in prmem.c ?
#ifdef CONFIG_ARCH_HAS_PRMEM_HEADER
+#include <asm/prmem.h>
+#else
+
+struct wr_state {
+ struct mm_struct *prev;
+};
+
+#endif
It's still a conditional include, but it's in a C file, it shouldn't
cause any chance of loops.
The alternative is that each arch supporting prmem must have a
(probably) empty asm/prmem.h header.
I did some reasearch about telling the compiler to include a header only
if it exists, but it doesn't seem to be a gcc feature.
--
igor