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 <peter.bigot@nordicsemi.no>
This commit is contained in:
Peter Bigot 2019-08-12 12:54:23 -05:00 committed by Carles Cufí
commit 5f481bb042
3 changed files with 18 additions and 13 deletions

View file

@ -7,15 +7,15 @@
#ifndef MPXXDTYY_H
#define MPXXDTYY_H
#ifdef __cplusplus
extern "C" {
#endif
#include <audio/dmic.h>
#include <zephyr.h>
#include <device.h>
#include "OpenPDMFilter.h"
#ifdef __cplusplus
extern "C" {
#endif
#define MPXXDTYY_MIN_PDM_FREQ 1200000 /* 1.2MHz */
#define MPXXDTYY_MAX_PDM_FREQ 3250000 /* 3.25MHz */