tree d032c3b04e5f05076291bab7c3e8129b4ce2d946
parent d820cbb19a333cdfc4a24d0c6b2c3f09def1f3e5
author Paul Burton <paul.burton@mips.com> 1464363926 +0100
committer James Hogan <jhogan@kernel.org> 1525946208 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQS7lRNBWUYtqfDOVL41zuSGKxAj8gUCWvQXlgAKCRA1zuSGKxAj
 8jGUAP4qjfAmWRjgArAb8U24jbDWMXfEQPJ+sWbQvsE13l4qOgEA5VSoqxyrH7cD
 QVQpzAriiB/uFpu9XJTaWFn8kAPb+w4=
 =Np4p
 -----END PGP SIGNATURE-----

compiler.h: Allow arch-specific overrides

Include an arch-specific asm/compiler.h and allow for it to define a
custom version of barrier_before_unreachable(), which is needed to
workaround several issues on the MIPS architecture.

This patch includes an effectively empty asm-generic implementation of
asm/compiler.h for all architectures except alpha, arm, arm64, and mips
(which already have an asm/compiler.h) and leaves the architecture
specifics to a further patch.

Signed-off-by: Paul Burton <paul.burton@mips.com>
[jhogan@kernel.org: Forward port and use asm/compiler.h instead of
 asm/compiler-gcc.h]
Signed-off-by: James Hogan <jhogan@kernel.org>
Reviewed-by: Paul Burton <paul.burton@mips.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-arch@vger.kernel.org
Cc: linux-mips@linux-mips.org
---
Changes in v4 (James):
- Fix asm-generic/compiler.h include from check, compiler_types.h is
  included on the command line so linux/compiler.h may not be included
  (kbuild test robot).

Changes in v3 (James):
- Rebase after 4.17 arch removal.
- Use asm/compiler.h instead of compiler-gcc.h (Arnd).
- Drop stable tag for now.

Changes in v2 (Paul):
- Add generic-y entries to arch Kbuild files. Oops!
