From: "Rafał Miłecki" <zajec5@gmail.com>
To: linux-mtd@lists.infradead.org, Artem Bityutskiy <dedekind1@gmail.com>
Cc: "Rafał Miłecki" <zajec5@gmail.com>,
"Jonas Gorski" <jonas.gorski@gmail.com>
Subject: [PATCH RFC] bcm47xxsflash: just use memcpy for reading
Date: Wed, 19 Sep 2012 14:08:14 +0200 [thread overview]
Message-ID: <1348056494-30019-1-git-send-email-zajec5@gmail.com> (raw)
---
Still have to check it with aiaiai
---
drivers/mtd/devices/bcm47xxsflash.c | 31 ++-----------------------------
1 files changed, 2 insertions(+), 29 deletions(-)
diff --git a/drivers/mtd/devices/bcm47xxsflash.c b/drivers/mtd/devices/bcm47xxsflash.c
index a328872..2f8dfd4 100644
--- a/drivers/mtd/devices/bcm47xxsflash.c
+++ b/drivers/mtd/devices/bcm47xxsflash.c
@@ -14,41 +14,14 @@ static int bcm47xxsflash_read(struct mtd_info *mtd, loff_t from, size_t len,
size_t *retlen, u_char *buf)
{
struct bcma_sflash *sflash = mtd->priv;
- size_t bytes_read = 0;
- __iomem u8 *src = (__iomem u8 *)KSEG0ADDR(sflash->window + from);
- int i;
- size_t unaligned_before, unaligned_after;
/* Check address range */
if ((from + len) > mtd->size)
return -EINVAL;
- unaligned_before = from & 0x3;
- unaligned_after = (from + len) & 0x3;
+ memcpy(buf, (void *)KSEG0ADDR(sflash->window + from), len);
- for (i = 0; i < unaligned_before; i++) {
- *buf = readb(src);
- buf++;
- src++;
- bytes_read++;
- }
- for (i = from - unaligned_before; i < from + len - unaligned_after;
- i += 4) {
- *(u32 *)buf = readl(src);
- buf += 4;
- src += 4;
- bytes_read += 4;
- }
- for (i = 0; i < unaligned_after; i++) {
- *buf = readb(src);
- buf++;
- src++;
- bytes_read++;
- }
-
- *retlen = bytes_read;
-
- return 0;
+ return len;
}
static void bcm47xxsflash_fill_mtd(struct bcma_sflash *sflash,
--
1.7.7
next reply other threads:[~2012-09-19 12:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-19 12:08 Rafał Miłecki [this message]
2012-09-19 13:45 ` [PATCH RFC] bcm47xxsflash: just use memcpy for reading Marc Kleine-Budde
2012-09-19 14:07 ` Rafał Miłecki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1348056494-30019-1-git-send-email-zajec5@gmail.com \
--to=zajec5@gmail.com \
--cc=dedekind1@gmail.com \
--cc=jonas.gorski@gmail.com \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox