[PATCH 3/5] crc16: Move standard CRC-16 implementation from ubifs to lib
Pali Rohár
pali at kernel.org
Tue Apr 12 11:20:42 CEST 2022
This implementation provides standard CRC-16 algorithm with polynomial
x^16 + x^15 + x^2 + 1.
Signed-off-by: Pali Rohár <pali at kernel.org>
---
fs/ubifs/Makefile | 2 +-
include/u-boot/crc.h | 3 +++
lib/Makefile | 1 +
{fs/ubifs => lib}/crc16.c | 0
4 files changed, 5 insertions(+), 1 deletion(-)
rename {fs/ubifs => lib}/crc16.c (100%)
diff --git a/fs/ubifs/Makefile b/fs/ubifs/Makefile
index 64d64472945e..631ba5f438cf 100644
--- a/fs/ubifs/Makefile
+++ b/fs/ubifs/Makefile
@@ -9,5 +9,5 @@
obj-y := ubifs.o io.o super.o sb.o master.o lpt.o
obj-y += lpt_commit.o scan.o lprops.o
-obj-y += tnc.o tnc_misc.o debug.o crc16.o budget.o
+obj-y += tnc.o tnc_misc.o debug.o budget.o
obj-y += log.o orphan.o recovery.o replay.o gc.o
diff --git a/include/u-boot/crc.h b/include/u-boot/crc.h
index eba8edfb4f31..5174bd7ac413 100644
--- a/include/u-boot/crc.h
+++ b/include/u-boot/crc.h
@@ -25,6 +25,9 @@
*/
unsigned int crc8(unsigned int crc_start, const unsigned char *vptr, int len);
+/* lib/crc16.c - 16 bit CRC with polynomial x^16 + x^15 + x^2 + 1 */
+uint16_t crc16(uint16_t crc, const unsigned char *buffer, size_t len);
+
/* lib/crc16-ccitt.c - 16 bit CRC with polynomial x^16+x^12+x^5+1 (CRC-CCITT) */
uint16_t crc16_ccitt(uint16_t crc_start, const unsigned char *s, int len);
/**
diff --git a/lib/Makefile b/lib/Makefile
index b4f03cc149d3..0d0261b8986f 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -37,6 +37,7 @@ obj-$(CONFIG_CIRCBUF) += circbuf.o
endif
obj-y += crc8.o
+obj-y += crc16.o
obj-y += crc16-ccitt.o
obj-$(CONFIG_ERRNO_STR) += errno_str.o
obj-$(CONFIG_FIT) += fdtdec_common.o
diff --git a/fs/ubifs/crc16.c b/lib/crc16.c
similarity index 100%
rename from fs/ubifs/crc16.c
rename to lib/crc16.c
--
2.20.1
More information about the U-Boot
mailing list