aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/gpmi-nand/gpmi-nand.h
diff options
context:
space:
mode:
authorBoris BREZILLON <boris.brezillon@free-electrons.com>2014-11-30 19:10:28 +0100
committerBrian Norris <computersforpeace@gmail.com>2014-12-01 00:41:49 -0800
commit66de54a761831f2e9f31941fa49c94bfcde5f586 (patch)
tree8bb2900334d145e0cd02ded11e34296a4867fd75 /drivers/mtd/nand/gpmi-nand/gpmi-nand.h
parentmtd: spi-nor: factor out write_enable() for erase commands (diff)
downloadlinux-dev-66de54a761831f2e9f31941fa49c94bfcde5f586.tar.xz
linux-dev-66de54a761831f2e9f31941fa49c94bfcde5f586.zip
mtd: nand: gpmi: add gpmi_copy_bits function
Add a new function to copy bits (not bytes) from a memory region to another one. This function is similar to memcpy except it acts at bit level. It is needed to implement GPMI raw access functions and adapt to the hardware ECC engine which does not pad ECC bits to the next byte boundary. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Tested-by: Huang Shijie <shijie8@gmail.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to '')
-rw-r--r--drivers/mtd/nand/gpmi-nand/gpmi-nand.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h
index 32c6ba49f986..20da1f139853 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h
@@ -290,6 +290,10 @@ extern int gpmi_send_page(struct gpmi_nand_data *,
extern int gpmi_read_page(struct gpmi_nand_data *,
dma_addr_t payload, dma_addr_t auxiliary);
+void gpmi_copy_bits(u8 *dst, size_t dst_bit_off,
+ const u8 *src, size_t src_bit_off,
+ size_t nbits);
+
/* BCH : Status Block Completion Codes */
#define STATUS_GOOD 0x00
#define STATUS_ERASED 0xff