mirror of
https://github.com/torvalds/linux
synced 2024-09-06 18:01:05 +00:00
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>
This commit is contained in:
parent
cec422ab8c
commit
3cd39bc3b1
13
include/linux/array_size.h
Normal file
13
include/linux/array_size.h
Normal file
|
@ -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 */
|
|
@ -13,6 +13,7 @@
|
|||
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/align.h>
|
||||
#include <linux/array_size.h>
|
||||
#include <linux/limits.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/stddef.h>
|
||||
|
@ -50,12 +51,6 @@
|
|||
#define READ 0
|
||||
#define WRITE 1
|
||||
|
||||
/**
|
||||
* 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))
|
||||
|
||||
#define PTR_IF(cond, ptr) ((cond) ? (ptr) : NULL)
|
||||
|
||||
#define u64_to_user_ptr(x) ( \
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#ifndef _LINUX_STRING_H_
|
||||
#define _LINUX_STRING_H_
|
||||
|
||||
#include <linux/array_size.h>
|
||||
#include <linux/compiler.h> /* for inline */
|
||||
#include <linux/types.h> /* for size_t */
|
||||
#include <linux/stddef.h> /* for NULL */
|
||||
|
|
Loading…
Reference in a new issue