s390/vx: add vx-insn.h wrapper include file
authorHeiko Carstens <hca@linux.ibm.com>
Thu, 1 Dec 2022 16:24:54 +0000 (17:24 +0100)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Tue, 6 Dec 2022 15:18:23 +0000 (16:18 +0100)
commit706f2ada822280a1f8f64bbe03ec5362ef46dd78
tree753dd642067ddc6ca69c96bfdf3c3da3b4ac9358
parenta70f72767fa17d76c48d1123213dbe631556ec06
s390/vx: add vx-insn.h wrapper include file

The vector instruction macros can also be used in inline assemblies. For
this the magic

asm(".include \"asm/vx-insn.h\"\n");

must be added to C files in order to avoid that the pre-processor
eliminates the __ASSEMBLY__ guarded macros. This however comes with the
problem that changes to asm/vx-insn.h do not cause a recompile of C files
which have only this magic statement instead of a proper include statement.
This can be observed with the arch/s390/kernel/fpu.c file.

In order to fix this problem and also to avoid that the include must
be specified twice, add a wrapper include header file which will do
all necessary steps.

This way only the vx-insn.h header file needs to be included and changes to
the new vx-insn-asm.h header file cause a recompile of all dependent files
like it should.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/include/asm/vx-insn-asm.h [new file with mode: 0644]
arch/s390/include/asm/vx-insn.h
arch/s390/kernel/fpu.c
lib/raid6/s390vx.uc