mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 02:24:18 +00:00

For builds where we don't have a certain feature enabled, we provide empty stub xxx_enable() functions in a header file. This way we avoid #ifdef's in the code, and can call the enable function unconditionally. When compiling with -O1 or higher, the compiler will even optimise out the whole call, so the symbol will never make it into any object file. When compiling with optimisations turned off, the function stub will survive, and could make it into multiple object files, which would lead to a multiple definitons error. Avoid this by defining those stub functions as "static inline". The "static" will avoid the multiple definitions problems, the "inline" will avoid a potential compiler warning about unused functions. This patterns is used extensively in the Linux kernel. Change-Id: Iad07bb946aab372587c83f2423b4983bf3817990 Reported-by: Chris Kay <chris.kay@arm.com> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
18 lines
292 B
C
18 lines
292 B
C
/*
|
|
* Copyright (c) 2022-2023, Arm Limited. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef BRBE_H
|
|
#define BRBE_H
|
|
|
|
#if ENABLE_BRBE_FOR_NS
|
|
void brbe_enable(void);
|
|
#else
|
|
static inline void brbe_enable(void)
|
|
{
|
|
}
|
|
#endif /* ENABLE_BRBE_FOR_NS */
|
|
|
|
#endif /* BRBE_H */
|