summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2019-11-14 22:57:25 +0300
committerTom Rini <trini@konsulko.com>2019-12-03 02:23:11 +0300
commit6c03f9e618f4a94900bdd5857117811e21ffb959 (patch)
treeaefbfc95146d87ee4c50775259fe8246d2cfab1c
parentb03e0510d769381ce3cda5a494889bfee5042c59 (diff)
downloadu-boot-6c03f9e618f4a94900bdd5857117811e21ffb959.tar.xz
common: Add a new lz4.h header file
Add a header file to house the lz4 compression function. Add a comment while we are here, since it not even clear from the name what the function actuall does. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
-rw-r--r--common/image.c1
-rw-r--r--include/common.h3
-rw-r--r--include/lz4.h24
-rw-r--r--lib/lz4_wrapper.c1
-rw-r--r--test/compression.c1
5 files changed, 27 insertions, 3 deletions
diff --git a/common/image.c b/common/image.c
index 992ebbad51..1c8ac2df70 100644
--- a/common/image.c
+++ b/common/image.c
@@ -20,6 +20,7 @@
#include <gzip.h>
#include <image.h>
+#include <lz4.h>
#include <mapmem.h>
#if IMAGE_ENABLE_FIT || IMAGE_ENABLE_OF_LIBFDT
diff --git a/include/common.h b/include/common.h
index f433db17ae..1e77ed393e 100644
--- a/include/common.h
+++ b/include/common.h
@@ -292,9 +292,6 @@ void wait_ticks (unsigned long);
ulong usec2ticks (unsigned long usec);
ulong ticks2usec (unsigned long ticks);
-/* lib/lz4_wrapper.c */
-int ulz4fn(const void *src, size_t srcn, void *dst, size_t *dstn);
-
/* lib/uuid.c */
#include <uuid.h>
diff --git a/include/lz4.h b/include/lz4.h
new file mode 100644
index 0000000000..1276fb98a3
--- /dev/null
+++ b/include/lz4.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright 2019 Google LLC
+ */
+
+#ifndef __LZ4_H
+#define __LZ4_H
+
+/**
+ * ulz4fn() - Decompress LZ4 data
+ *
+ * @src: Source data to decompress
+ * @srcn: Length of source data
+ * @dst: Destination for uncompressed data
+ * @dstn: Returns length of uncompressed data
+ * @return 0 if OK, -EPROTONOSUPPORT if the magic number or version number are
+ * not recognised or independent blocks are used, -EINVAL if the reserved
+ * fields are non-zero, or input is overrun, -EENOBUFS if the destination
+ * buffer is overrun, -EEPROTO if the compressed data causes an error in
+ * the decompression algorithm
+ */
+int ulz4fn(const void *src, size_t srcn, void *dst, size_t *dstn);
+
+#endif
diff --git a/lib/lz4_wrapper.c b/lib/lz4_wrapper.c
index 1c68e67452..1e1e8d5085 100644
--- a/lib/lz4_wrapper.c
+++ b/lib/lz4_wrapper.c
@@ -6,6 +6,7 @@
#include <common.h>
#include <compiler.h>
#include <image.h>
+#include <lz4.h>
#include <linux/kernel.h>
#include <linux/types.h>
diff --git a/test/compression.c b/test/compression.c
index 08fef59d0a..48dccc0e89 100644
--- a/test/compression.c
+++ b/test/compression.c
@@ -7,6 +7,7 @@
#include <bootm.h>
#include <command.h>
#include <gzip.h>
+#include <lz4.h>
#include <malloc.h>
#include <mapmem.h>
#include <asm/io.h>