On Tue, Aug 27, 2024 at 12:20:11AM GMT, Michal Wajdeczko wrote:
The DECLARE_IF_KUNIT macro will introduces identifiers only if CONFIG_KUNIT is enabled. Otherwise if CONFIG_KUNIT is not enabled no identifiers from the param list will be defined.
Signed-off-by: Michal Wajdeczko michal.wajdeczko@intel.com Reviewed-by: Rae Moar rmoar@google.com Reviewed-by: David Gow davidgow@google.com
Cc: Lucas De Marchi lucas.demarchi@intel.com
up to kunit maintainers, but it doesn't seem the word "DECLARE" is entirely correct. What it's doing is expanding arg, and it doesn't matter if it's an expression, definition, declaration.
Looking at patch 3, I think it would be more obvious to the caller if we have:
IF_KUNIT_ELSE_EMPTY() IF_KUNIT_ELSE_ZERO()
include/kunit/visibility.h | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/include/kunit/visibility.h b/include/kunit/visibility.h index 0dfe35feeec6..1c23773f826c 100644 --- a/include/kunit/visibility.h +++ b/include/kunit/visibility.h @@ -11,6 +11,13 @@ #define _KUNIT_VISIBILITY_H
#if IS_ENABLED(CONFIG_KUNIT)
- /**
* DECLARE_IF_KUNIT - A macro that introduces identifiers only if
* CONFIG_KUNIT is enabled. Otherwise if CONFIG_KUNIT is not enabled
* no identifiers will be defined.
* @body: identifiers to be introduced conditionally
missing an example here with fields inside a struct
Lucas De Marchi
*/
- #define DECLARE_IF_KUNIT(body...) body /**
- VISIBLE_IF_KUNIT - A macro that sets symbols to be static if
- CONFIG_KUNIT is not enabled. Otherwise if CONFIG_KUNIT is enabled
@@ -26,6 +33,7 @@ #define EXPORT_SYMBOL_IF_KUNIT(symbol) EXPORT_SYMBOL_NS(symbol, \ EXPORTED_FOR_KUNIT_TESTING) #else
- #define DECLARE_IF_KUNIT(body...) #define VISIBLE_IF_KUNIT static #define EXPORT_SYMBOL_IF_KUNIT(symbol)
#endif
2.43.0