kernel: Allow SYS_KERNEL_VER_MAJOR(), etc. return full range of values.

Macros SYS_KERNEL_VER_MAJOR(), SYS_KERNEL_VER_MINOR(),
SYS_KERNEL_VER_PATCHLEVEL() capped their return values to 0-15 range,
even though documentation says "Each of these elements must therefore be
in the range 0 to 255, inclusive". Fix to corresponds to the docs. This
issue especially affected SYS_KERNEL_VER_PATCHLEVEL(), which could be
set to a high value to represent WIP code in-between releases.

Change-Id: I0b72fb68f3f0f8d3d3b321a5ba2c48671879dfbc
Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
This commit is contained in:
Paul Sokolovsky 2016-10-21 14:58:43 +03:00 committed by Anas Nashif
commit fb9185cdb8

View file

@ -32,13 +32,13 @@ extern "C" {
* x -- major release * x -- major release
* y -- minor release * y -- minor release
* z -- patchlevel release * z -- patchlevel release
* Each of these elements must therefore be in the range 0 to 256, inclusive. * Each of these elements must therefore be in the range 0 to 255, inclusive.
* *
* Part 2: The least significant byte is reserved for future use. * Part 2: The least significant byte is reserved for future use.
*/ */
#define SYS_KERNEL_VER_MAJOR(ver) ((ver >> 24) & 0x0F) #define SYS_KERNEL_VER_MAJOR(ver) ((ver >> 24) & 0xFF)
#define SYS_KERNEL_VER_MINOR(ver) ((ver >> 16) & 0x0F) #define SYS_KERNEL_VER_MINOR(ver) ((ver >> 16) & 0xFF)
#define SYS_KERNEL_VER_PATCHLEVEL(ver) ((ver >> 8) & 0x0F) #define SYS_KERNEL_VER_PATCHLEVEL(ver) ((ver >> 8) & 0xFF)
/* kernel version routines */ /* kernel version routines */