Skip to content
Snippets Groups Projects
Commit 71d2c070 authored by Maxime Ripard's avatar Maxime Ripard Committed by Jagan Teki
Browse files

bch: Allow to build for the host


We will need the bch functions in the tool to generate the SPL images for
the Allwinner SoCs.

Do the needed adjustments so that we can use it on the host.

Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: default avatarTom Rini <trini@konsulko.com>
Reviewed-by: default avatarJagan Teki <jagan@openedev.com>
parent ea3f750c
No related branches found
No related tags found
No related merge requests found
...@@ -54,10 +54,27 @@ ...@@ -54,10 +54,27 @@
* finite fields GF(2^q). In Rapport de recherche INRIA no 2829, 1996. * finite fields GF(2^q). In Rapport de recherche INRIA no 2829, 1996.
*/ */
#ifndef USE_HOSTCC
#include <common.h> #include <common.h>
#include <ubi_uboot.h> #include <ubi_uboot.h>
#include <linux/bitops.h> #include <linux/bitops.h>
#else
#include <errno.h>
#include <endian.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#undef cpu_to_be32
#define cpu_to_be32 htobe32
#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
#define kmalloc(size, flags) malloc(size)
#define kzalloc(size, flags) calloc(1, size)
#define kfree free
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
#endif
#include <asm/byteorder.h> #include <asm/byteorder.h>
#include <linux/bch.h> #include <linux/bch.h>
...@@ -95,6 +112,37 @@ struct gf_poly_deg1 { ...@@ -95,6 +112,37 @@ struct gf_poly_deg1 {
unsigned int c[2]; unsigned int c[2];
}; };
#ifdef USE_HOSTCC
static int fls(int x)
{
int r = 32;
if (!x)
return 0;
if (!(x & 0xffff0000u)) {
x <<= 16;
r -= 16;
}
if (!(x & 0xff000000u)) {
x <<= 8;
r -= 8;
}
if (!(x & 0xf0000000u)) {
x <<= 4;
r -= 4;
}
if (!(x & 0xc0000000u)) {
x <<= 2;
r -= 2;
}
if (!(x & 0x80000000u)) {
x <<= 1;
r -= 1;
}
return r;
}
#endif
/* /*
* same as encode_bch(), but process input data one byte at a time * same as encode_bch(), but process input data one byte at a time
*/ */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment