Title: [4098] trunk/drivers/mtd/nand/bf5xx_nand.c: [#3825]
using memcpy to simply the code
- Revision
- 4098
- Author
- cooloney
- Date
- 2008-01-14 01:45:06 -0600 (Mon, 14 Jan 2008)
Log Message
[#3825] using memcpy to simply the code
Diffstat
bf5xx_nand.c | 21 +++++++++------------
1 files changed, 9 insertions(+), 12 deletions(-)
Modified Paths
Diff
Modified: trunk/drivers/mtd/nand/bf5xx_nand.c (4097 => 4098)
--- trunk/drivers/mtd/nand/bf5xx_nand.c 2008-01-14 06:48:04 UTC (rev 4097)
+++ trunk/drivers/mtd/nand/bf5xx_nand.c 2008-01-14 07:45:06 UTC (rev 4098)
@@ -293,7 +293,6 @@
u16 ecc0, ecc1;
u32 code[2];
u8 *p;
- int bytes = 3, i;
/* first 4 bytes ECC code for 256 page size */
ecc0 = bfin_read_NFC_ECC0();
@@ -303,24 +302,22 @@
dev_dbg(info->device, "returning ecc 0x%08x\n", code[0]);
+ /* first 3 bytes in ecc_code for 256 page size */
+ p = (u8 *) code;
+ memcpy(ecc_code, p, 3);
+
/* second 4 bytes ECC code for 512 page size */
if (page_size == 512) {
ecc0 = bfin_read_NFC_ECC2();
ecc1 = bfin_read_NFC_ECC3();
code[1] = (ecc0 & 0x3FF) | ((ecc1 & 0x3FF) << 11);
- bytes = 6;
- dev_dbg(info->device, "returning ecc 0x%08x\n", code[1]);
- }
- p = (u8 *)code;
- for (i = 0; i < bytes; i++) {
- /* For 512 page size, should copy
- * p[0], p[1], p[2], p[4], p[5], p[6]
+ /* second 3 bytes in ecc_code for second 256
+ * bytes of 512 page size
*/
- if (i == 3)
- i = 4;
-
- ecc_code[i] = p[i];
+ p = (u8 *) (code + 1);
+ memcpy((ecc_code + 3), p, 3);
+ dev_dbg(info->device, "returning ecc 0x%08x\n", code[1]);
}
return 0;
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits