diff mbox series

[02/13] linux/kernel.h: Add PTR_ALIGN_DOWN macro

Message ID 20191209092147.22901-3-kishon@ti.com
State Superseded
Headers show
Series [01/13] PCI: cadence: Remove stray "pm_runtime_put_sync()" in error path | expand

Commit Message

Kishon Vijay Abraham I Dec. 9, 2019, 9:21 a.m. UTC
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.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

---
 include/linux/kernel.h | 1 +
 1 file changed, 1 insertion(+)

-- 
2.17.1
diff mbox series

Patch

diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 3adcb39fa6f5..888ad70a80aa 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 */