* [U-Boot] [PATCH 1/2] linux/bitops: Move BIT defination at top
@ 2015-10-21 11:16 Jagan Teki
2015-10-21 11:16 ` [U-Boot] [PATCH v3 2/2] linux/bitops.h: GENMASK copy from linux Jagan Teki
0 siblings, 1 reply; 3+ messages in thread
From: Jagan Teki @ 2015-10-21 11:16 UTC (permalink / raw)
To: u-boot
Since it's a copy from Linux, this patch moved all
BIT definations to top so-that it looks same as Linux file.
Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
---
include/linux/bitops.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index 7d30ace..8ed0cf5 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -4,6 +4,8 @@
#include <asm/types.h>
#define BIT(nr) (1UL << (nr))
+#define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
+#define BIT_WORD(nr) ((nr) / BITS_PER_LONG)
/*
* ffs: find first bit set. This is defined the same way as
@@ -106,9 +108,6 @@ static inline unsigned int generic_hweight8(unsigned int w)
return (res & 0x0F) + ((res >> 4) & 0x0F);
}
-#define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
-#define BIT_WORD(nr) ((nr) / BITS_PER_LONG)
-
#include <asm/bitops.h>
/* linux/include/asm-generic/bitops/non-atomic.h */
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [U-Boot] [PATCH v3 2/2] linux/bitops.h: GENMASK copy from linux
2015-10-21 11:16 [U-Boot] [PATCH 1/2] linux/bitops: Move BIT defination at top Jagan Teki
@ 2015-10-21 11:16 ` Jagan Teki
2015-10-22 11:24 ` Tom Rini
0 siblings, 1 reply; 3+ messages in thread
From: Jagan Teki @ 2015-10-21 11:16 UTC (permalink / raw)
To: u-boot
GENMASK is used to create a contiguous bitmask([hi:lo]).
This patch is a copy from Linux, with below commit details
"bitops: Fix shift overflow in GENMASK macros"
(sha1: 00b4d9a14125f1e51874def2b9de6092e007412d)
Cc: Tom Rini <trini@konsulko.com>
Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
---
Changes for v3:
- Rebase to master
- Added bitsperlong.h
include/asm-generic/bitsperlong.h | 8 ++++++++
include/linux/bitops.h | 11 +++++++++++
2 files changed, 19 insertions(+)
create mode 100644 include/asm-generic/bitsperlong.h
diff --git a/include/asm-generic/bitsperlong.h b/include/asm-generic/bitsperlong.h
new file mode 100644
index 0000000..75ee21e
--- /dev/null
+++ b/include/asm-generic/bitsperlong.h
@@ -0,0 +1,8 @@
+#ifndef __ASM_GENERIC_BITS_PER_LONG
+#define __ASM_GENERIC_BITS_PER_LONG
+
+#ifndef BITS_PER_LONG_LONG
+#define BITS_PER_LONG_LONG 64
+#endif
+
+#endif /* __ASM_GENERIC_BITS_PER_LONG */
diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index 8ed0cf5..6b801b4 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -8,6 +8,17 @@
#define BIT_WORD(nr) ((nr) / BITS_PER_LONG)
/*
+ * Create a contiguous bitmask starting at bit position @l and ending at
+ * position @h. For example
+ * GENMASK_ULL(39, 21) gives us the 64bit vector 0x000000ffffe00000.
+ */
+#define GENMASK(h, l) \
+ (((~0UL) << (l)) & (~0UL >> (BITS_PER_LONG - 1 - (h))))
+
+#define GENMASK_ULL(h, l) \
+ (((~0ULL) << (l)) & (~0ULL >> (BITS_PER_LONG_LONG - 1 - (h))))
+
+/*
* 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).
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [U-Boot] [PATCH v3 2/2] linux/bitops.h: GENMASK copy from linux
2015-10-21 11:16 ` [U-Boot] [PATCH v3 2/2] linux/bitops.h: GENMASK copy from linux Jagan Teki
@ 2015-10-22 11:24 ` Tom Rini
0 siblings, 0 replies; 3+ messages in thread
From: Tom Rini @ 2015-10-22 11:24 UTC (permalink / raw)
To: u-boot
On Wed, Oct 21, 2015 at 04:46:51PM +0530, Jagan Teki wrote:
> GENMASK is used to create a contiguous bitmask([hi:lo]).
>
> This patch is a copy from Linux, with below commit details
> "bitops: Fix shift overflow in GENMASK macros"
> (sha1: 00b4d9a14125f1e51874def2b9de6092e007412d)
>
> Cc: Tom Rini <trini@konsulko.com>
> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
> Signed-off-by: Jagan Teki <jteki@openedev.com>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151022/ed356645/attachment-0001.sig>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-10-22 11:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-21 11:16 [U-Boot] [PATCH 1/2] linux/bitops: Move BIT defination at top Jagan Teki
2015-10-21 11:16 ` [U-Boot] [PATCH v3 2/2] linux/bitops.h: GENMASK copy from linux Jagan Teki
2015-10-22 11:24 ` Tom Rini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox