aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/kernel.h
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <krzk@kernel.org>2017-04-11 20:08:34 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2017-04-21 20:30:44 +0800
commited067d4a859ff696373324c5061392e013a7561a (patch)
treead38c59cb06b548f56d1bbc38845a39b9091a056 /include/linux/kernel.h
parentcrypto: caam - fix error return code in caam_qi_init() (diff)
downloadwireguard-linux-ed067d4a859ff696373324c5061392e013a7561a.tar.xz
wireguard-linux-ed067d4a859ff696373324c5061392e013a7561a.zip
linux/kernel.h: Add ALIGN_DOWN macro
Few parts of kernel define their own macro for aligning down so provide a common define for this, with the same usage and assumptions as existing ALIGN. Convert also three existing implementations to this one. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include/linux/kernel.h')
-rw-r--r--include/linux/kernel.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 4c26dc3a8295..3d9f8420f973 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -47,6 +47,7 @@
/* @a is a power of 2 value */
#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
+#define ALIGN_DOWN(x, a) __ALIGN_KERNEL((x) - ((a) - 1), (a))
#define __ALIGN_MASK(x, mask) __ALIGN_KERNEL_MASK((x), (mask))
#define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a)))
#define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0)