There are macros in kernel.h that can be used outside of that header. Split them to args.h and replace open coded variants.
Test compiled with `make allmodconfig` for x86_64.
(Note that positive diff statistics is due to documentation being updated.)
In v3: - split to a series of patches - fixed build issue on `make allmodconfig` for x86_64 (Andrew)
In v2: - converted existing users at the same time (Andrew, Rasmus) - documented how it does work (Andrew, Rasmus)
Andy Shevchenko (4): kernel.h: Split out COUNT_ARGS() and CONCATENATE() to args.h x86/asm: Replace custom COUNT_ARGS() & CONCATENATE() implementations arm64: smccc: Replace custom COUNT_ARGS() & CONCATENATE() implementations genetlink: Replace custom CONCATENATE() implementation
arch/x86/include/asm/rmwcc.h | 11 +++-------- include/kunit/test.h | 1 + include/linux/args.h | 28 ++++++++++++++++++++++++++++ include/linux/arm-smccc.h | 27 ++++++++++----------------- include/linux/genl_magic_func.h | 27 ++++++++++++++------------- include/linux/genl_magic_struct.h | 8 +++----- include/linux/kernel.h | 7 ------- include/linux/pci.h | 2 +- include/trace/bpf_probe.h | 2 ++ 9 files changed, 62 insertions(+), 51 deletions(-) create mode 100644 include/linux/args.h