summaryrefslogtreecommitdiff
path: root/include/linux/crc7.h
diff options
context:
space:
mode:
authorThomas Chou <thomas@wytron.com.tw>2011-01-11 09:38:20 +0800
committerWolfgang Denk <wd@denx.de>2011-01-18 23:38:08 +0100
commited6ce67a2c7071cf5032848caa8bbf037e5ac51b (patch)
tree4af693e4e589c5d6c8043fa97439e116da828b90 /include/linux/crc7.h
parent5c4fa2eea0d68764766b5996baa5508f64f1f64b (diff)
downloadu-boot-imx-ed6ce67a2c7071cf5032848caa8bbf037e5ac51b.zip
u-boot-imx-ed6ce67a2c7071cf5032848caa8bbf037e5ac51b.tar.gz
u-boot-imx-ed6ce67a2c7071cf5032848caa8bbf037e5ac51b.tar.bz2
lib: add crc7 from Linux
Crc7 is used to compute mmc spi command packet checksum. Copy from linux-2.6 lib/crc7.c include/linux/crc7.h commit ad241528c4919505afccb022acbab3eeb0db4d80 Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Diffstat (limited to 'include/linux/crc7.h')
-rw-r--r--include/linux/crc7.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/crc7.h b/include/linux/crc7.h
new file mode 100644
index 0000000..1786e77
--- /dev/null
+++ b/include/linux/crc7.h
@@ -0,0 +1,14 @@
+#ifndef _LINUX_CRC7_H
+#define _LINUX_CRC7_H
+#include <linux/types.h>
+
+extern const u8 crc7_syndrome_table[256];
+
+static inline u8 crc7_byte(u8 crc, u8 data)
+{
+ return crc7_syndrome_table[(crc << 1) ^ data];
+}
+
+extern u8 crc7(u8 crc, const u8 *buffer, size_t len);
+
+#endif