cmd: add asn1_compiler
[oweals/u-boot.git] / lib / bch.c
index ec53483774b5babe49437fa79537e4d80a91b13c..c4fac77d611456b116b663b0553d4325c6861fda 100644 (file)
--- a/lib/bch.c
+++ b/lib/bch.c
@@ -1,8 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Generic binary BCH encoding/decoding library
  *
- * SPDX-License-Identifier:    GPL-2.0
- *
  * Copyright © 2011 Parrot S.A.
  *
  * Author: Ivan Djelic <ivan.djelic@parrot.com>
 #include <linux/bitops.h>
 #else
 #include <errno.h>
+#if defined(__FreeBSD__)
+#include <sys/endian.h>
+#elif defined(__APPLE__)
+#include <machine/endian.h>
+#include <libkern/OSByteOrder.h>
+#else
 #include <endian.h>
+#endif
 #include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 
 #undef cpu_to_be32
+#if defined(__APPLE__)
+#define cpu_to_be32 OSSwapHostToBigInt32
+#else
 #define cpu_to_be32 htobe32
+#endif
 #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
 #define kmalloc(size, flags)   malloc(size)
 #define kzalloc(size, flags)   calloc(1, size)
@@ -113,6 +123,7 @@ struct gf_poly_deg1 {
 };
 
 #ifdef USE_HOSTCC
+#if !defined(__DragonFly__) && !defined(__FreeBSD__) && !defined(__APPLE__)
 static int fls(int x)
 {
        int r = 32;
@@ -142,6 +153,7 @@ static int fls(int x)
        return r;
 }
 #endif
+#endif
 
 /*
  * same as encode_bch(), but process input data one byte at a time