From: Kishon Vijay Abraham I Date: Wed, 22 Jul 2020 11:03:05 +0000 (+0530) Subject: linux/kernel.h: Add PTR_ALIGN_DOWN macro X-Git-Tag: v5.10.7~1895^2~11^2~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=229f5879facf96e5640c0385f62b8cb5f27b8a43;p=platform%2Fkernel%2Flinux-rpi.git linux/kernel.h: Add PTR_ALIGN_DOWN macro Add a macro for aligning down a pointer. This is useful to get an aligned register address when a device allows only word access and doesn't allow half word or byte access. Link: https://lore.kernel.org/r/20200722110317.4744-4-kishon@ti.com Signed-off-by: Kishon Vijay Abraham I Signed-off-by: Lorenzo Pieralisi Acked-by: Rob Herring --- diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 82d9154..7339a00 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -34,6 +34,7 @@ #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 PTR_ALIGN_DOWN(p, a) ((typeof(p))ALIGN_DOWN((unsigned long)(p), (a))) #define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0) /* generic data direction definitions */