summaryrefslogtreecommitdiffstats
path: root/include/linux/bitops.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-02-28 12:33:41 +0000
committerArnd Bergmann <arnd@arndb.de>2012-02-28 12:33:46 +0000
commitabf45ce84c4e36bd64aef20d7df9a79bd5e4b799 (patch)
treef118e135bdd60b680703d1b38c7fdc7b9d7c503d /include/linux/bitops.h
parent082f53c2f573c75a8f1610c587a43b6817e20f90 (diff)
parentb1f91a9ce335eb4e0fef17c10f39a438ac3fce9b (diff)
Merge branch 'imx/defconfig' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/soc
* 'imx/defconfig' of git://git.linaro.org/people/shawnguo/linux-2.6: (2 commits) ARM: defconfig: imx_v6_v7: build in REGULATOR_FIXED_VOLTAGE ARM: imx: update imx_v6_v7_defconfig (upadte to v3.3-rc5)
Diffstat (limited to 'include/linux/bitops.h')
-rw-r--r--include/linux/bitops.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index 3c1063acb2a..94300fe46cc 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -56,6 +56,26 @@ static inline unsigned long hweight_long(unsigned long w)
}
/**
+ * rol64 - rotate a 64-bit value left
+ * @word: value to rotate
+ * @shift: bits to roll
+ */
+static inline __u64 rol64(__u64 word, unsigned int shift)
+{
+ return (word << shift) | (word >> (64 - shift));
+}
+
+/**
+ * ror64 - rotate a 64-bit value right
+ * @word: value to rotate
+ * @shift: bits to roll
+ */
+static inline __u64 ror64(__u64 word, unsigned int shift)
+{
+ return (word >> shift) | (word << (64 - shift));
+}
+
+/**
* rol32 - rotate a 32-bit value left
* @word: value to rotate
* @shift: bits to roll