Allow to use bit mask in asm code
authorPiotr Dymacz <pepe2k@gmail.com>
Thu, 10 Dec 2015 14:33:14 +0000 (15:33 +0100)
committerPiotr Dymacz <pepe2k@gmail.com>
Thu, 10 Dec 2015 14:33:14 +0000 (15:33 +0100)
u-boot/include/linux/bitops.h
u-boot/include/soc/soc_common.h

index 6849219fa94e000ba9fa0c74f5c94bb38d478535..c0cbd3071b99ade7de75d4d87cdfa3f832ba556d 100755 (executable)
@@ -5,15 +5,15 @@
  * Helper macros
  */
 #define BIT(_x)                                        (1 << (_x))
-#define BITS(_start, _bits)            (((1UL << (_bits)) - 1) << _start)
+#define BITS(_start, _bits)            (((1 << (_bits)) - 1) << _start)
 #define CHECK_BIT(_var, _pos)  ((_var) & (1 << (_pos)))
 
+#ifndef __ASSEMBLY__
 /*
  * ffs: find first bit set. This is defined the same way as
  * the libc and compiler builtin ffs routines, therefore
  * differs in spirit from the above ffz (man ffs).
  */
-
 static inline int generic_ffs(int x)
 {
        int r = 1;
@@ -47,7 +47,6 @@ static inline int generic_ffs(int x)
  * hweightN: returns the hamming weight (i.e. the number
  * of bits set) of a N-bit word
  */
-
 static inline unsigned int generic_hweight32(unsigned int w)
 {
        unsigned int res = (w & 0x55555555) + ((w >> 1) & 0x55555555);
@@ -74,5 +73,6 @@ static inline unsigned int generic_hweight8(unsigned int w)
 
 #include <asm/bitops.h>
 
+#endif /* !__ASSEMBLY__ */
 
 #endif
index 6dfea09365e7ecef76d7bc44f6ff654f226978d8..ec6aeccc3c402ec6a9780c68bdc45779701efe30 100644 (file)
@@ -9,9 +9,7 @@
 #ifndef _SOC_COMMON_H_
 #define _SOC_COMMON_H_
 
-#ifndef __ASSEMBLY__
 #include <linux/bitops.h>
-#endif /* !__ASSEMBLY__ */
 
 #ifndef SOC_TYPE
        #error "SOC_TYPE is not defined!"