From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Mon, 8 Apr 2013 08:23:56 +0200 Subject: [U-Boot] [PATCH 6/8] lib: import bitrev library from linux kernel In-Reply-To: <1365352865-2137-7-git-send-email-mikedunn@newsguy.com> References: <1365352865-2137-1-git-send-email-mikedunn@newsguy.com> <1365352865-2137-7-git-send-email-mikedunn@newsguy.com> Message-ID: <201304080823.56302.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Mike Dunn, > This patch adds the bitrev library from the linux kernel. This is a simple > algorithm that uses an 8 bit look-up table to reverse the bits in data > types of 8, 16, or 32 bit widths. The docg4 nand flash driver uses it. > > Signed-off-by: Mike Dunn > --- > include/linux/bitrev.h | 16 +++++++++++++ > lib/Makefile | 1 + > lib/bitrev.c | 56 > ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 73 > insertions(+), 0 deletions(-) > create mode 100644 include/linux/bitrev.h > create mode 100644 lib/bitrev.c > > diff --git a/include/linux/bitrev.h b/include/linux/bitrev.h > new file mode 100644 > index 0000000..7ffe03f > --- /dev/null > +++ b/include/linux/bitrev.h > @@ -0,0 +1,16 @@ > +#ifndef _LINUX_BITREV_H > +#define _LINUX_BITREV_H > + > +#include > + > +extern u8 const byte_rev_table[256]; > + > +static inline u8 bitrev8(u8 byte) > +{ > + return byte_rev_table[byte]; > +} > + > +extern u16 bitrev16(u16 in); > +extern u32 bitrev32(u32 in); Do we really need to expose the array and use so many externs here? [...]