From: Roman Kiryanov <[email protected]>

There are dedicated macros (lower_32_bits and upper_32_bits)
available to extract the lower and upper 32 bits. They provide
better readability and could prevent some compilation warnings.

Signed-off-by: Roman Kiryanov <[email protected]>
---
 include/linux/goldfish.h | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/include/linux/goldfish.h b/include/linux/goldfish.h
index 159b4191f15d..265a099cd3b8 100644
--- a/include/linux/goldfish.h
+++ b/include/linux/goldfish.h
@@ -2,6 +2,7 @@
 #ifndef __LINUX_GOLDFISH_H
 #define __LINUX_GOLDFISH_H
 
+#include <linux/kernel.h>
 #include <linux/types.h>
 #include <linux/io.h>
 
@@ -10,9 +11,11 @@
 static inline void gf_write_ptr(const void *ptr, void __iomem *portl,
                                void __iomem *porth)
 {
-       writel((u32)(unsigned long)ptr, portl);
+       const unsigned long addr = (unsigned long)ptr;
+
+       writel(lower_32_bits(addr), portl);
 #ifdef CONFIG_64BIT
-       writel((unsigned long)ptr >> 32, porth);
+       writel(upper_32_bits(addr), porth);
 #endif
 }
 
@@ -20,9 +23,9 @@ static inline void gf_write_dma_addr(const dma_addr_t addr,
                                     void __iomem *portl,
                                     void __iomem *porth)
 {
-       writel((u32)addr, portl);
+       writel(lower_32_bits(addr), portl);
 #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
-       writel(addr >> 32, porth);
+       writel(upper_32_bits(addr), porth);
 #endif
 }
 
-- 
2.18.0.233.g985f88cf7e-goog

Reply via email to