From: Alexander Aring <alex.aring@googlemail.com>
To: barebox@lists.infradead.org
Subject: [PATCH 7/8] nandtest: use loff_t instead off_t
Date: Mon, 22 Oct 2012 09:23:31 +0200 [thread overview]
Message-ID: <1350890612-10588-8-git-send-email-alex.aring@gmail.com> (raw)
In-Reply-To: <1350890612-10588-1-git-send-email-alex.aring@gmail.com>
Use the same offset type like mtd interface.
Replace modulo operation with IS_ALIGNED macro.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
---
commands/nandtest.c | 57 ++++++++++++++++++++++++++---------------------------
1 file changed, 28 insertions(+), 29 deletions(-)
diff --git a/commands/nandtest.c b/commands/nandtest.c
index ead728b..f9c9318 100644
--- a/commands/nandtest.c
+++ b/commands/nandtest.c
@@ -45,7 +45,7 @@ static unsigned int ecc_failed_cnt;
/*
* Implementation of pread with lseek and read.
*/
-static ssize_t pread(int fd, void *buf, size_t count, off_t offset)
+static ssize_t pread(int fd, void *buf, size_t count, loff_t offset)
{
int ret;
@@ -66,7 +66,7 @@ static ssize_t pread(int fd, void *buf, size_t count, off_t offset)
* Implementation of pwrite with lseek and write.
*/
static ssize_t pwrite(int fd, const void *buf,
- size_t count, off_t offset, off_t length)
+ size_t count, loff_t offset, loff_t length)
{
int ret;
@@ -79,8 +79,8 @@ static ssize_t pwrite(int fd, const void *buf,
if (ret < 0) {
perror("write");
if (markbad) {
- printf("\nMark block bad at 0x%08x\n",
- (unsigned)(offset + memregion.offset));
+ printf("\nMark block bad at 0x%08llx\n",
+ offset + memregion.offset);
ioctl(fd, MEMSETBADBLOCK, &offset);
init_progression_bar(length);
show_progress(offset);
@@ -98,8 +98,8 @@ static ssize_t pwrite(int fd, const void *buf,
* Param rbuf: pointer to allocated buffer to copy readed data.
* Param length: length of testing area
*/
-static int erase_and_write(off_t ofs, unsigned char *data,
- unsigned char *rbuf, off_t length)
+static int erase_and_write(loff_t ofs, unsigned char *data,
+ unsigned char *rbuf, loff_t length)
{
struct erase_info_user er;
unsigned int i;
@@ -132,9 +132,9 @@ static int erase_and_write(off_t ofs, unsigned char *data,
}
if (newstats.corrected > oldstats.corrected) {
- printf("\n %d bit(s) ECC corrected at page 0x%08x\n",
+ printf("\n %d bit(s) ECC corrected at page 0x%08llx\n",
newstats.corrected - oldstats.corrected,
- (unsigned)(ofs + memregion.offset + i));
+ ofs + memregion.offset + i);
init_progression_bar(length);
show_progress(ofs);
if ((newstats.corrected-oldstats.corrected) >=
@@ -151,8 +151,8 @@ static int erase_and_write(off_t ofs, unsigned char *data,
oldstats.corrected = newstats.corrected;
}
if (newstats.failed > oldstats.failed) {
- printf("\nECC failed at page 0x%08x\n",
- (unsigned)(ofs + memregion.offset + i));
+ printf("\nECC failed at page 0x%08llx\n",
+ ofs + memregion.offset + i);
init_progression_bar(length);
show_progress(ofs);
oldstats.failed = newstats.failed;
@@ -196,7 +196,7 @@ static void print_stats(int nr_passes, int length)
static int do_nandtest(int argc, char *argv[])
{
int opt, do_nandtest_dev = -1, ret = -1;
- off_t flash_offset = 0, test_ofs, length = 0;
+ loff_t flash_offset = 0, test_ofs, length = 0;
unsigned int nr_iterations = 1, iter;
unsigned char *wbuf, *rbuf;
@@ -274,28 +274,28 @@ static int do_nandtest(int argc, char *argv[])
length -= flash_offset;
}
- printf("Flash offset: 0x%08x\n",
- (unsigned)(flash_offset + memregion.offset));
- printf("Length: 0x%08x\n", (unsigned)length);
- printf("End address: 0x%08x\n",
- (unsigned)(flash_offset + length + memregion.offset));
- printf("Erasesize: 0x%08x\n", (unsigned)(meminfo.erasesize));
+ printf("Flash offset: 0x%08llx\n",
+ flash_offset + memregion.offset);
+ printf("Length: 0x%08llx\n", length);
+ printf("End address: 0x%08llx\n",
+ flash_offset + length + memregion.offset);
+ printf("Erasesize: 0x%08x\n", meminfo.erasesize);
printf("Starting nandtest...\n");
- if (flash_offset % meminfo.erasesize) {
- printf("Offset 0x%08x not multiple of erase size 0x%08x\n",
- (unsigned)flash_offset, meminfo.erasesize);
+ if (!IS_ALIGNED(flash_offset, meminfo.erasesize)) {
+ printf("Offset 0x%08llx not multiple of erase size 0x%08x\n",
+ flash_offset, meminfo.erasesize);
goto err;
}
- if (length % meminfo.erasesize) {
- printf("Length 0x%08x not multiple of erase size 0x%08x\n",
- (unsigned)length, meminfo.erasesize);
+ if (!IS_ALIGNED(length, meminfo.erasesize)) {
+ printf("Length 0x%08llx not multiple of erase size 0x%08x\n",
+ length, meminfo.erasesize);
goto err;
}
if (length + flash_offset > meminfo.size) {
- printf("Length 0x%08x + offset 0x%08x exceeds "
- "device size 0x%08x\n", (unsigned)length,
- (unsigned)flash_offset, meminfo.size);
+ printf("Length 0x%08llx + offset 0x%08llx exceeds "
+ "device size 0x%08x\n", length,
+ flash_offset, meminfo.size);
goto err;
}
@@ -317,9 +317,8 @@ static int do_nandtest(int argc, char *argv[])
seed = rand();
if (ioctl(fd, MEMGETBADBLOCK, &test_ofs)) {
- printf("\nBad block at 0x%08x\n",
- (unsigned)(test_ofs +
- memregion.offset));
+ printf("\nBad block at 0x%08llx\n",
+ test_ofs + memregion.offset);
init_progression_bar(length);
show_progress(test_ofs);
continue;
--
1.7.12.4
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2012-10-22 7:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-22 7:23 [PATCH 0/8] improve nandtest command Alexander Aring
2012-10-22 7:23 ` [PATCH 1/8] nandtest: stat ecc per page not per eraseblock Alexander Aring
2012-10-22 7:23 ` [PATCH 2/8] nandtest: add progressbar instead of offset print Alexander Aring
2012-10-22 7:23 ` [PATCH 3/8] nandtest: rename command argument p to i Alexander Aring
2012-10-22 7:23 ` [PATCH 4/8] nandtest: change flash length variable type Alexander Aring
2012-10-22 7:23 ` [PATCH 5/8] nandtest: use get_random_bytes instead of for loop Alexander Aring
2012-10-22 7:23 ` [PATCH 6/8] nandtest: clean up code Alexander Aring
2012-10-22 7:23 ` Alexander Aring [this message]
2012-10-22 7:23 ` [PATCH 8/8] nandtest: add another constraints check Alexander Aring
2012-10-23 6:27 ` [PATCH 0/8] improve nandtest command Sascha Hauer
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=1350890612-10588-8-git-send-email-alex.aring@gmail.com \
--to=alex.aring@googlemail.com \
--cc=barebox@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