-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
linux/kernel.h: split *_MAX and *_MIN macros into <linux/limits.h>
<linux/kernel.h> tends to be cluttered because we often put various sort of unrelated stuff in it. So, we have split out a sensible chunk of code into a separate header from time to time. This commit splits out the *_MAX and *_MIN defines. The standard header <limits.h> contains various MAX, MIN constants including numerial limits. [1] I think it makes sense to move in-kernel MAX, MIN constants into include/linux/limits.h. We already have include/uapi/linux/limits.h to contain some user-space constants. I changed its include guard to _UAPI_LINUX_LIMITS_H. This change has no impact to the user-space because scripts/headers_install.sh rips off the '_UAPI' prefix from the include guards of exported headers. [1] http://pubs.opengroup.org/onlinepubs/009604499/basedefs/limits.h.html Link: http://lkml.kernel.org/r/1549156242-20806-2-git-send-email-yamada.masahiro@socionext.com Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Alex Elder <elder@linaro.org> Cc: Alexey Dobriyan <adobriyan@gmail.com> Cc: Zhang Yanmin <yanmin.zhang@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
- Loading branch information
Masahiro Yamada
authored and
Linus Torvalds
committed
Mar 8, 2019
1 parent
2dc0e68
commit 54d5089
Showing
3 changed files
with
39 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
#ifndef _LINUX_LIMITS_H | ||
#define _LINUX_LIMITS_H | ||
|
||
#include <uapi/linux/limits.h> | ||
#include <linux/types.h> | ||
|
||
#define USHRT_MAX ((unsigned short)~0U) | ||
#define SHRT_MAX ((short)(USHRT_MAX >> 1)) | ||
#define SHRT_MIN ((short)(-SHRT_MAX - 1)) | ||
#define INT_MAX ((int)(~0U >> 1)) | ||
#define INT_MIN (-INT_MAX - 1) | ||
#define UINT_MAX (~0U) | ||
#define LONG_MAX ((long)(~0UL >> 1)) | ||
#define LONG_MIN (-LONG_MAX - 1) | ||
#define ULONG_MAX (~0UL) | ||
#define LLONG_MAX ((long long)(~0ULL >> 1)) | ||
#define LLONG_MIN (-LLONG_MAX - 1) | ||
#define ULLONG_MAX (~0ULL) | ||
#define SIZE_MAX (~(size_t)0) | ||
#define PHYS_ADDR_MAX (~(phys_addr_t)0) | ||
|
||
#define U8_MAX ((u8)~0U) | ||
#define S8_MAX ((s8)(U8_MAX >> 1)) | ||
#define S8_MIN ((s8)(-S8_MAX - 1)) | ||
#define U16_MAX ((u16)~0U) | ||
#define S16_MAX ((s16)(U16_MAX >> 1)) | ||
#define S16_MIN ((s16)(-S16_MAX - 1)) | ||
#define U32_MAX ((u32)~0U) | ||
#define S32_MAX ((s32)(U32_MAX >> 1)) | ||
#define S32_MIN ((s32)(-S32_MAX - 1)) | ||
#define U64_MAX ((u64)~0ULL) | ||
#define S64_MAX ((s64)(U64_MAX >> 1)) | ||
#define S64_MIN ((s64)(-S64_MAX - 1)) | ||
|
||
#endif /* _LINUX_LIMITS_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters