[U-Boot] [PATCH 07/41] crc: Fix code style with crc functions

Simon Glass sjg at chromium.org
Mon Sep 30 14:40:38 UTC 2019


Some of these have a space before the bracket. Drop it to fix the style.
Add some missing function comments while here.

Note that u32 and u8 cannot be used here since crc.h is included on the
host side.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 cmd/i2c.c            |  2 +-
 include/u-boot/crc.h | 75 +++++++++++++++++++++++++++++++++++++++-----
 lib/crc32.c          |  4 +--
 tools/envcrc.c       |  4 +--
 4 files changed, 73 insertions(+), 12 deletions(-)

diff --git a/cmd/i2c.c b/cmd/i2c.c
index e0f8ece597c..038f97c261b 100644
--- a/cmd/i2c.c
+++ b/cmd/i2c.c
@@ -768,7 +768,7 @@ static int do_i2c_crc (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]
 #endif
 		if (ret)
 			err++;
-		crc = crc32 (crc, &byte, 1);
+		crc = crc32(crc, &byte, 1);
 		addr++;
 	}
 	if (err > 0)
diff --git a/include/u-boot/crc.h b/include/u-boot/crc.h
index b42bcda2b31..1086d2168ce 100644
--- a/include/u-boot/crc.h
+++ b/include/u-boot/crc.h
@@ -38,9 +38,47 @@ void crc16_ccitt_wd_buf(const uint8_t *in, uint len,
 			uint8_t *out, uint chunk_sz);
 
 /* lib/crc32.c */
-uint32_t crc32 (uint32_t, const unsigned char *, uint);
-uint32_t crc32_wd (uint32_t, const unsigned char *, uint, uint);
-uint32_t crc32_no_comp (uint32_t, const unsigned char *, uint);
+
+/**
+ * crc32 - Calculate the CRC32 for a block of data
+ *
+ * @crc: Input crc to chain from a previous calculution (use 0 to start a new
+ *	calculation)
+ * @buf: Bytes to checksum
+ * @len: Number of bytes to checksum
+ * @return checksum value
+ */
+uint32_t crc32(uint32_t crc, const unsigned char *buf, uint len);
+
+/**
+ * crc32_wd - Calculate the CRC32 for a block of data (watchdog version)
+ *
+ * This checksums the data @chunk_sz bytes at a time, calling WATCHDOG_RESET()
+ * after each chunk, to prevent the watchdog from firing.
+ *
+ * @crc: Input crc to chain from a previous calculution (use 0 to start a new
+ *	calculation)
+ * @buf: Bytes to checksum
+ * @len: Number of bytes to checksum
+ * @chunk_sz: Chunk size to use between watchdog resets
+ * @return checksum
+ */
+uint32_t crc32_wd(uint32_t crc, const unsigned char *buf, uint len,
+		  uint chunk_sz);
+
+/**
+ * crc32_no_comp - Calculate the CRC32 for a block of data (no one's compliment)
+ *
+ * This version uses a different algorithm which doesn't use one's compliment.
+ * JFFS2 (and other things?) use this.
+ *
+ * @crc: Input crc to chain from a previous calculution (use 0 to start a new
+ *	calculation)
+ * @buf: Bytes to checksum
+ * @len: Number of bytes to checksum
+ * @return checksum value
+ */
+uint32_t crc32_no_comp(uint32_t crc, const unsigned char *buf, uint len);
 
 /**
  * crc32_wd_buf - Perform CRC32 on a buffer and return result in buffer
@@ -50,11 +88,34 @@ uint32_t crc32_no_comp (uint32_t, const unsigned char *, uint);
  * @output:	Place to put checksum result (4 bytes)
  * @chunk_sz:	Trigger watchdog after processing this many bytes
  */
-void crc32_wd_buf(const unsigned char *input, uint ilen,
-		    unsigned char *output, uint chunk_sz);
+void crc32_wd_buf(const uint8_t *input, uint ilen, uint8_t *output,
+		  uint chunk_sz);
 
 /* lib/crc32c.c */
-void crc32c_init(uint32_t *, uint32_t);
-uint32_t crc32c_cal(uint32_t, const char *, int, uint32_t *);
+
+/**
+ * crc32c_init() - Set up a the CRC32 table
+ *
+ * This sets up 256-item table to aid in CRC32 calculation
+ *
+ * @crc32c_table: Place to put table
+ * @pol: polynomial to use
+ */
+void crc32c_init(uint32_t *crc32c_table, uint32_t pol);
+
+/**
+ * crc32c_cal() - Perform CRC32 on a buffer given a table
+ *
+ * This algorithm uses the table (set up by crc32c_init() to speed up
+ * processing.
+ *
+ * @crc: Previous crc (use 0 at start)
+ * @data: Data bytes to checksum
+ * @length: Number of bytes to process
+ * @crc32c_table:: CRC table
+ * @return checksum value
+ */
+uint32_t crc32c_cal(uint32_t crc, const char *data, int length,
+		    uint32_t *crc32c_table);
 
 #endif /* _UBOOT_CRC_H */
diff --git a/lib/crc32.c b/lib/crc32.c
index eee21f8d739..dc7e183f181 100644
--- a/lib/crc32.c
+++ b/lib/crc32.c
@@ -244,12 +244,12 @@ uint32_t crc32_wd(uint32_t crc, const unsigned char *buf, uInt len,
 		chunk = end - curr;
 		if (chunk > chunk_sz)
 			chunk = chunk_sz;
-		crc = crc32 (crc, curr, chunk);
+		crc = crc32(crc, curr, chunk);
 		curr += chunk;
 		WATCHDOG_RESET ();
 	}
 #else
-	crc = crc32 (crc, buf, len);
+	crc = crc32(crc, buf, len);
 #endif
 
 	return crc;
diff --git a/tools/envcrc.c b/tools/envcrc.c
index 672ef4d675e..09b49b49f9d 100644
--- a/tools/envcrc.c
+++ b/tools/envcrc.c
@@ -64,7 +64,7 @@ extern unsigned int env_size;
 extern env_t embedded_environment;
 #endif	/* CONFIG_BUILD_ENVCRC */
 
-extern uint32_t crc32 (uint32_t, const unsigned char *, unsigned int);
+extern uint32_t crc32(uint32_t, const unsigned char *, unsigned int);
 
 int main (int argc, char **argv)
 {
@@ -94,7 +94,7 @@ int main (int argc, char **argv)
 			memset(dataptr + eoe, pad, datasize - eoe);
 	}
 
-	crc = crc32 (0, dataptr, datasize);
+	crc = crc32(0, dataptr, datasize);
 
 	/* Check if verbose mode is activated passing a parameter to the program */
 	if (argc > 1) {
-- 
2.23.0.444.g18eeb5a265-goog



More information about the U-Boot mailing list