On Mon, Mar 5, 2018 at 10:30 AM, Christian Borntraeger
[off-list ref] wrote:
On 01/16/2018 03:18 AM, Deepa Dinamani wrote:
quoted
All the current architecture specific defines for these
are the same. Refactor these common defines to a common
header file.
The new common linux/compat_time.h is also useful as it
will eventually be used to hold all the defines that
are needed for compat time types that support non y2038
safe types. New architectures need not have to define these
new types as they will only use new y2038 safe syscalls.
This file can be deleted after y2038 when we stop supporting
non y2038 safe syscalls.
You are now include a <linux/*.h> from several asm files
(
arch/arm64/include/asm/stat.h
arch/s390/include/asm/elf.h
arch/x86/include/asm/ftrace.h
arch/x86/include/asm/sys_ia32.h
)
It works, and it is done in many places, but it looks somewhat weird.
Would it make sense to have an asm-generic/compate-time.h instead? Asking for
opinions here.
I don't think we have such a rule. If a header file is common to all
architectures (i.e. no architecture uses a different implementation),
it should be in include/linux rather than include/asm-generic, regardless
of whether it can be used by assembler files or not.
quoted
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c
@@ -32,7 +32,7 @@
#include <asm/chpid.h>
#include <asm/io.h>
#include <asm/sysinfo.h>
-#include <asm/compat.h>
+#include <linux/compat.h>
#include <asm/diag.h>
#include <asm/cio.h>
#include <asm/ccwdev.h>
Can you move that into the other includes (where all the other <linux/*> includes are.
Good catch, this is definitely a rule we have ;-)
Arnd