summaryrefslogtreecommitdiff
path: root/drivers/mtd/nand/sh_flctl.c
diff options
context:
space:
mode:
authorBastian Hecht <hechtb@googlemail.com>2012-07-05 14:41:01 +0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2012-09-29 17:48:58 +0400
commitd76236f30f1280f9345bb266a161e3ba60518c83 (patch)
treeacbddcba96a1117c93e13109bd4fdff2a15f2b20 /drivers/mtd/nand/sh_flctl.c
parent2361f738b67ab7f1152187fa3d321a09b7c95c09 (diff)
downloadlinux-d76236f30f1280f9345bb266a161e3ba60518c83.tar.xz
mtd: sh_flctl: Use memcpy() instead of using a loop
Elements have been copied "manually" in a loop. Better use memcpy(). Signed-off-by: Bastian Hecht <hechtb@gmail.com> Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/nand/sh_flctl.c')
-rw-r--r--drivers/mtd/nand/sh_flctl.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/mtd/nand/sh_flctl.c b/drivers/mtd/nand/sh_flctl.c
index ed03ed2355de..1343315b37ba 100644
--- a/drivers/mtd/nand/sh_flctl.c
+++ b/drivers/mtd/nand/sh_flctl.c
@@ -29,6 +29,7 @@
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/slab.h>
+#include <linux/string.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/nand.h>
@@ -746,10 +747,9 @@ static void flctl_select_chip(struct mtd_info *mtd, int chipnr)
static void flctl_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len)
{
struct sh_flctl *flctl = mtd_to_flctl(mtd);
- int i, index = flctl->index;
+ int index = flctl->index;
- for (i = 0; i < len; i++)
- flctl->done_buff[index + i] = buf[i];
+ memcpy(&flctl->done_buff[index], buf, len);
flctl->index += len;
}
@@ -778,10 +778,11 @@ static uint16_t flctl_read_word(struct mtd_info *mtd)
static void flctl_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
{
- int i;
+ struct sh_flctl *flctl = mtd_to_flctl(mtd);
+ int index = flctl->index;
- for (i = 0; i < len; i++)
- buf[i] = flctl_read_byte(mtd);
+ memcpy(buf, &flctl->done_buff[index], len);
+ flctl->index += len;
}
static int flctl_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)