From 1a47e6d47c7184b116bb58e8451dc0d4f141a609 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
Date: Tue, 12 Apr 2022 11:20:42 +0200
Subject: [PATCH] crc16: Move standard CRC-16 implementation from ubifs to lib
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

This implementation provides standard CRC-16 algorithm with polynomial
x^16 + x^15 + x^2 + 1.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
---
 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 64d6447294..631ba5f438 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 eba8edfb4f..5174bd7ac4 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 cf662a765a..d9b1811f75 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -35,6 +35,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.39.5