diff options
author | Alejandro Colomar <alx@kernel.org> | 2023-10-03 14:59:53 +0300 |
---|---|---|
committer | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2023-10-03 16:28:40 +0300 |
commit | 3cd39bc3b11b8d34b7d7c961a35fdfd18b0ebf75 (patch) | |
tree | bc9fd9a7dc9ca18d5fb0b2cae794eef0461e4b6e /include/linux/array_size.h | |
parent | cec422ab8c1ef320cba23b7dbf9ea5364b9c8207 (diff) | |
download | linux-3cd39bc3b11b8d34b7d7c961a35fdfd18b0ebf75.tar.xz |
kernel.h: Move ARRAY_SIZE() to a separate header
Touching files so used for the kernel,
forces 'make' to recompile most of the kernel.
Having those definitions in more granular files
helps avoid recompiling so much of the kernel.
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20230817143352.132583-2-lucas.segarra.fernandez@intel.com
[andy: reduced to cover only string.h for now]
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Diffstat (limited to 'include/linux/array_size.h')
-rw-r--r-- | include/linux/array_size.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/array_size.h b/include/linux/array_size.h new file mode 100644 index 000000000000..06d7d83196ca --- /dev/null +++ b/include/linux/array_size.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_ARRAY_SIZE_H +#define _LINUX_ARRAY_SIZE_H + +#include <linux/compiler.h> + +/** + * ARRAY_SIZE - get the number of elements in array @arr + * @arr: array to be sized + */ +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) + +#endif /* _LINUX_ARRAY_SIZE_H */ |