From 5f481bb042f5a273733dae41d6467a73f7277395 Mon Sep 17 00:00:00 2001 From: Peter Bigot Date: Mon, 12 Aug 2019 12:54:23 -0500 Subject: [PATCH] drivers: rearrange for standard use of extern "C" in private headers Consistently place C++ use of extern "C" after all include directives, within the negative branch of _ASMLANGUAGE if used. Only updated in headers that already had support for drivers built with a C++ compiler. The spi_dw.h file defines macros to declare functions, then uses them within a file that may have out-of-tree overrides. In this case we leave the including file extern "C" active for backward compatibility. Background from issue #17997: Declarations that use C linkage should be placed within extern "C" so the language linkage is correct when the header is included by a C++ compiler. Similarly #include directives should be outside the extern "C" to ensure the language-specific default linkage is applied to any declarations provided by the included header. See: https://en.cppreference.com/w/cpp/language/language_linkage Signed-off-by: Peter Bigot --- drivers/audio/mpxxdtyy.h | 8 ++++---- drivers/i2c/i2c-priv.h | 8 ++++---- drivers/spi/spi_dw.h | 15 ++++++++++----- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/drivers/audio/mpxxdtyy.h b/drivers/audio/mpxxdtyy.h index 9d49c1b7308..3c451c83d7c 100644 --- a/drivers/audio/mpxxdtyy.h +++ b/drivers/audio/mpxxdtyy.h @@ -7,15 +7,15 @@ #ifndef MPXXDTYY_H #define MPXXDTYY_H -#ifdef __cplusplus -extern "C" { -#endif - #include