git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git]
/
drivers
/
mtd
/
devices
/
blkmtd.c
diff --git
a/drivers/mtd/devices/blkmtd.c
b/drivers/mtd/devices/blkmtd.c
index
4bd5d32
..
a3eb97a
100644
(file)
--- a/
drivers/mtd/devices/blkmtd.c
+++ b/
drivers/mtd/devices/blkmtd.c
@@
-1,5
+1,5
@@
/*
/*
- * $Id: blkmtd
-25.c,v 1.5 2003/07/16 06:48:27 spse
Exp $
+ * $Id: blkmtd
.c,v 1.23 2004/08/09 14:03:19 dwmw2
Exp $
*
* blkmtd.c - use a block device as a fake MTD
*
*
* blkmtd.c - use a block device as a fake MTD
*
@@
-39,7
+39,7
@@
/* Default erase size in K, always make it a multiple of PAGE_SIZE */
#define CONFIG_MTD_BLKDEV_ERASESIZE (128 << 10) /* 128KiB */
/* Default erase size in K, always make it a multiple of PAGE_SIZE */
#define CONFIG_MTD_BLKDEV_ERASESIZE (128 << 10) /* 128KiB */
-#define VERSION "$Revision: 1.
5
$"
+#define VERSION "$Revision: 1.
23
$"
/* Info for the block device */
struct blkmtd_dev {
/* Info for the block device */
struct blkmtd_dev {
@@
-246,7
+246,7
@@
static int write_pages(struct blkmtd_dev *dev, const u_char *buf, loff_t to,
pagenr = to >> PAGE_SHIFT;
offset = to & ~PAGE_MASK;
pagenr = to >> PAGE_SHIFT;
offset = to & ~PAGE_MASK;
- DEBUG(2, "blkmtd: write_pages: buf = %p to = %ld len = %d pagenr = %d offset = %d\n",
+ DEBUG(2, "blkmtd: write_pages: buf = %p to = %ld len = %
z
d pagenr = %d offset = %d\n",
buf, (long)to, len, pagenr, offset);
/* see if we have to do a partial write at the start */
buf, (long)to, len, pagenr, offset);
/* see if we have to do a partial write at the start */
@@
-270,21
+270,21
@@
static int write_pages(struct blkmtd_dev *dev, const u_char *buf, loff_t to,
down(&dev->wrbuf_mutex);
down(&dev->wrbuf_mutex);
- DEBUG(3, "blkmtd: write: start_len = %
d len = %d end_len = %
d pagecnt = %d\n",
+ DEBUG(3, "blkmtd: write: start_len = %
zd len = %zd end_len = %z
d pagecnt = %d\n",
start_len, len, end_len, pagecnt);
if(start_len) {
/* do partial start region */
struct page *page;
start_len, len, end_len, pagecnt);
if(start_len) {
/* do partial start region */
struct page *page;
- DEBUG(3, "blkmtd: write: doing partial start, page = %d len = %d offset = %d\n",
+ DEBUG(3, "blkmtd: write: doing partial start, page = %d len = %
z
d offset = %d\n",
pagenr, start_len, offset);
BUG_ON(!buf);
page = read_cache_page(dev->blkdev->bd_inode->i_mapping, pagenr, (filler_t *)blkmtd_readpage, dev);
lock_page(page);
if(PageDirty(page)) {
pagenr, start_len, offset);
BUG_ON(!buf);
page = read_cache_page(dev->blkdev->bd_inode->i_mapping, pagenr, (filler_t *)blkmtd_readpage, dev);
lock_page(page);
if(PageDirty(page)) {
- err("to = %lld start_len = %
d len = %d end_len = %
d pagenr = %d\n",
+ err("to = %lld start_len = %
zd len = %zd end_len = %z
d pagenr = %d\n",
to, start_len, len, end_len, pagenr);
BUG();
}
to, start_len, len, end_len, pagenr);
BUG();
}
@@
-346,13
+346,13
@@
static int write_pages(struct blkmtd_dev *dev, const u_char *buf, loff_t to,
if(end_len) {
/* do the third region */
struct page *page;
if(end_len) {
/* do the third region */
struct page *page;
- DEBUG(3, "blkmtd: write: doing partial end, page = %d len = %d\n",
+ DEBUG(3, "blkmtd: write: doing partial end, page = %d len = %
z
d\n",
pagenr, end_len);
BUG_ON(!buf);
page = read_cache_page(dev->blkdev->bd_inode->i_mapping, pagenr, (filler_t *)blkmtd_readpage, dev);
lock_page(page);
if(PageDirty(page)) {
pagenr, end_len);
BUG_ON(!buf);
page = read_cache_page(dev->blkdev->bd_inode->i_mapping, pagenr, (filler_t *)blkmtd_readpage, dev);
lock_page(page);
if(PageDirty(page)) {
- err("to = %lld start_len = %
d len = %d end_len = %
d pagenr = %d\n",
+ err("to = %lld start_len = %
zd len = %zd end_len = %z
d pagenr = %d\n",
to, start_len, len, end_len, pagenr);
BUG();
}
to, start_len, len, end_len, pagenr);
BUG();
}
@@
-375,7
+375,7
@@
static int write_pages(struct blkmtd_dev *dev, const u_char *buf, loff_t to,
if(bio)
blkmtd_write_out(bio);
if(bio)
blkmtd_write_out(bio);
- DEBUG(2, "blkmtd: write: end, retlen = %d, err = %d\n", *retlen, err);
+ DEBUG(2, "blkmtd: write: end, retlen = %
z
d, err = %d\n", *retlen, err);
up(&dev->wrbuf_mutex);
if(retlen)
up(&dev->wrbuf_mutex);
if(retlen)
@@
-393,14
+393,14
@@
static int blkmtd_erase(struct mtd_info *mtd, struct erase_info *instr)
size_t from;
u_long len;
int err = -EIO;
size_t from;
u_long len;
int err = -EIO;
-
in
t retlen;
+
size_
t retlen;
instr->state = MTD_ERASING;
from = instr->addr;
len = instr->len;
/* check erase region has valid start and length */
instr->state = MTD_ERASING;
from = instr->addr;
len = instr->len;
/* check erase region has valid start and length */
- DEBUG(2, "blkmtd: erase: dev = `%s' from = 0x%x len = 0x%lx\n",
+ DEBUG(2, "blkmtd: erase: dev = `%s' from = 0x%
z
x len = 0x%lx\n",
mtd->name+9, from, len);
while(numregions) {
DEBUG(3, "blkmtd: checking erase region = 0x%08X size = 0x%X num = 0x%x\n",
mtd->name+9, from, len);
while(numregions) {
DEBUG(3, "blkmtd: checking erase region = 0x%08X size = 0x%X num = 0x%x\n",
@@
-417,14
+417,14
@@
static int blkmtd_erase(struct mtd_info *mtd, struct erase_info *instr)
if(!numregions) {
/* Not a valid erase block */
if(!numregions) {
/* Not a valid erase block */
- err("erase: invalid erase request 0x%lX @ 0x%08X", len, from);
+ err("erase: invalid erase request 0x%lX @ 0x%08
z
X", len, from);
instr->state = MTD_ERASE_FAILED;
err = -EIO;
}
if(instr->state != MTD_ERASE_FAILED) {
/* do the erase */
instr->state = MTD_ERASE_FAILED;
err = -EIO;
}
if(instr->state != MTD_ERASE_FAILED) {
/* do the erase */
- DEBUG(3, "Doing erase from = %d len = %ld\n", from, len);
+ DEBUG(3, "Doing erase from = %
z
d len = %ld\n", from, len);
err = write_pages(dev, NULL, from, len, &retlen);
if(err || retlen != len) {
err("erase failed err = %d", err);
err = write_pages(dev, NULL, from, len, &retlen);
if(err || retlen != len) {
err("erase failed err = %d", err);
@@
-435,9
+435,7
@@
static int blkmtd_erase(struct mtd_info *mtd, struct erase_info *instr)
}
DEBUG(3, "blkmtd: erase: checking callback\n");
}
DEBUG(3, "blkmtd: erase: checking callback\n");
- if (instr->callback) {
- (*(instr->callback))(instr);
- }
+ mtd_erase_callback(instr);
DEBUG(2, "blkmtd: erase: finished (err = %d)\n", err);
return err;
}
DEBUG(2, "blkmtd: erase: finished (err = %d)\n", err);
return err;
}
@@
-453,8
+451,8
@@
static int blkmtd_read(struct mtd_info *mtd, loff_t from, size_t len,
int pagenr, pages;
size_t thislen = 0;
int pagenr, pages;
size_t thislen = 0;
- DEBUG(2, "blkmtd: read: dev = `%s' from = %l
d len = %
d buf = %p\n",
- mtd->name+9,
(long int)
from, len, buf);
+ DEBUG(2, "blkmtd: read: dev = `%s' from = %l
ld len = %z
d buf = %p\n",
+ mtd->name+9, from, len, buf);
if(from > mtd->size)
return -EINVAL;
if(from > mtd->size)
return -EINVAL;
@@
-496,7
+494,7
@@
static int blkmtd_read(struct mtd_info *mtd, loff_t from, size_t len,
readerr:
if(retlen)
*retlen = thislen;
readerr:
if(retlen)
*retlen = thislen;
- DEBUG(2, "blkmtd: end read: retlen = %d, err = %d\n", thislen, err);
+ DEBUG(2, "blkmtd: end read: retlen = %
z
d, err = %d\n", thislen, err);
return err;
}
return err;
}
@@
-511,8
+509,8
@@
static int blkmtd_write(struct mtd_info *mtd, loff_t to, size_t len,
if(!len)
return 0;
if(!len)
return 0;
- DEBUG(2, "blkmtd: write: dev = `%s' to = %l
d len = %
d buf = %p\n",
- mtd->name+9,
(long int)
to, len, buf);
+ DEBUG(2, "blkmtd: write: dev = `%s' to = %l
ld len = %z
d buf = %p\n",
+ mtd->name+9, to, len, buf);
if(to >= mtd->size) {
return -ENOSPC;
if(to >= mtd->size) {
return -ENOSPC;
@@
-565,7
+563,7
@@
static struct mtd_erase_region_info *calc_erase_regions(
{
struct mtd_erase_region_info *info = NULL;
{
struct mtd_erase_region_info *info = NULL;
- DEBUG(2, "calc_erase_regions, es = %
d size = %
d regions = %d\n",
+ DEBUG(2, "calc_erase_regions, es = %
zd size = %z
d regions = %d\n",
erase_size, total_size, *regions);
/* Make any user specified erasesize be a power of 2
and at least PAGE_SIZE */
erase_size, total_size, *regions);
/* Make any user specified erasesize be a power of 2
and at least PAGE_SIZE */
@@
-613,7
+611,7
@@
static struct mtd_erase_region_info *calc_erase_regions(
break;
}
} while(!(*regions));
break;
}
} while(!(*regions));
- DEBUG(2, "calc_erase_regions done, es = %
d size = %
d regions = %d\n",
+ DEBUG(2, "calc_erase_regions done, es = %
zd size = %z
d regions = %d\n",
erase_size, total_size, *regions);
return info;
}
erase_size, total_size, *regions);
return info;
}