diff options
author | Mike Dunn <mikedunn@newsguy.com> | 2013-04-12 11:59:17 -0700 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2013-05-05 23:47:04 +0200 |
commit | 0dd9c7a924f9a7b15fdb15d9005fd5506965f49f (patch) | |
tree | 710ead4a7e11dcf2e1ff2088c51170fa0589206f /include | |
parent | 5ed6f447af60aabd2669d913f673793c1ce48f47 (diff) |
lib: import bitrev library from the linux kernel
This patch adds the bitrev library from the linux kernel. This is a simple
algorithm that uses an 8 bit look-up table to reverse the bits in data types of
8, 16, or 32 bit widths. The docg4 nand flash driver uses it.
[port from linux kernel v3.9 commit 7ee32a6d30d1c8a3b7a07a6269da8f0a08662927]
[originally added: v2.6.20 by commit a5cfc1ec58a07074dacb6aa8c79eff864c966d12]
Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/bitrev.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/bitrev.h b/include/linux/bitrev.h new file mode 100644 index 0000000000..a61d9569b4 --- /dev/null +++ b/include/linux/bitrev.h @@ -0,0 +1,23 @@ +/* + * This file is released under the terms of GPL v2 and any later version. + * See the file COPYING in the root directory of the source tree for details. + * + * Based on bitrev from the Linux kernel, by Akinobu Mita + */ + +#ifndef _LINUX_BITREV_H +#define _LINUX_BITREV_H + +#include <linux/types.h> + +extern u8 const byte_rev_table[256]; + +static inline u8 bitrev8(u8 byte) +{ + return byte_rev_table[byte]; +} + +u16 bitrev16(u16 in); +u32 bitrev32(u32 in); + +#endif /* _LINUX_BITREV_H */ |