Commit 834247ec authored by Artem Bityutskiy's avatar Artem Bityutskiy Committed by David Woodhouse

mtd: remove retlen zeroing duplication

The MTD API function now zero the 'retlen' parameter before calling
the driver's method — do not do this again in drivers. This removes
duplicated '*retlen = 0' assignent from the following methods:

    'mtd_point()'
    'mtd_read()'
    'mtd_write()'
    'mtd_writev()'
    'mtd_panic_write()'
Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 664addc2
...@@ -1334,7 +1334,6 @@ static int cfi_intelext_point(struct mtd_info *mtd, loff_t from, size_t len, ...@@ -1334,7 +1334,6 @@ static int cfi_intelext_point(struct mtd_info *mtd, loff_t from, size_t len,
ofs = from - (chipnum << cfi->chipshift); ofs = from - (chipnum << cfi->chipshift);
*virt = map->virt + cfi->chips[chipnum].start + ofs; *virt = map->virt + cfi->chips[chipnum].start + ofs;
*retlen = 0;
if (phys) if (phys)
*phys = map->phys + cfi->chips[chipnum].start + ofs; *phys = map->phys + cfi->chips[chipnum].start + ofs;
...@@ -1460,8 +1459,6 @@ static int cfi_intelext_read (struct mtd_info *mtd, loff_t from, size_t len, siz ...@@ -1460,8 +1459,6 @@ static int cfi_intelext_read (struct mtd_info *mtd, loff_t from, size_t len, siz
chipnum = (from >> cfi->chipshift); chipnum = (from >> cfi->chipshift);
ofs = from - (chipnum << cfi->chipshift); ofs = from - (chipnum << cfi->chipshift);
*retlen = 0;
while (len) { while (len) {
unsigned long thislen; unsigned long thislen;
...@@ -1569,7 +1566,6 @@ static int cfi_intelext_write_words (struct mtd_info *mtd, loff_t to , size_t le ...@@ -1569,7 +1566,6 @@ static int cfi_intelext_write_words (struct mtd_info *mtd, loff_t to , size_t le
int chipnum; int chipnum;
unsigned long ofs; unsigned long ofs;
*retlen = 0;
if (!len) if (!len)
return 0; return 0;
...@@ -1817,7 +1813,6 @@ static int cfi_intelext_writev (struct mtd_info *mtd, const struct kvec *vecs, ...@@ -1817,7 +1813,6 @@ static int cfi_intelext_writev (struct mtd_info *mtd, const struct kvec *vecs,
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
len += vecs[i].iov_len; len += vecs[i].iov_len;
*retlen = 0;
if (!len) if (!len)
return 0; return 0;
......
...@@ -1017,13 +1017,9 @@ static int cfi_amdstd_read (struct mtd_info *mtd, loff_t from, size_t len, size_ ...@@ -1017,13 +1017,9 @@ static int cfi_amdstd_read (struct mtd_info *mtd, loff_t from, size_t len, size_
int ret = 0; int ret = 0;
/* ofs: offset within the first chip that the first read should start */ /* ofs: offset within the first chip that the first read should start */
chipnum = (from >> cfi->chipshift); chipnum = (from >> cfi->chipshift);
ofs = from - (chipnum << cfi->chipshift); ofs = from - (chipnum << cfi->chipshift);
*retlen = 0;
while (len) { while (len) {
unsigned long thislen; unsigned long thislen;
...@@ -1101,16 +1097,11 @@ static int cfi_amdstd_secsi_read (struct mtd_info *mtd, loff_t from, size_t len, ...@@ -1101,16 +1097,11 @@ static int cfi_amdstd_secsi_read (struct mtd_info *mtd, loff_t from, size_t len,
int chipnum; int chipnum;
int ret = 0; int ret = 0;
/* ofs: offset within the first chip that the first read should start */ /* ofs: offset within the first chip that the first read should start */
/* 8 secsi bytes per chip */ /* 8 secsi bytes per chip */
chipnum=from>>3; chipnum=from>>3;
ofs=from & 7; ofs=from & 7;
*retlen = 0;
while (len) { while (len) {
unsigned long thislen; unsigned long thislen;
...@@ -1255,7 +1246,6 @@ static int cfi_amdstd_write_words(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -1255,7 +1246,6 @@ static int cfi_amdstd_write_words(struct mtd_info *mtd, loff_t to, size_t len,
unsigned long ofs, chipstart; unsigned long ofs, chipstart;
DECLARE_WAITQUEUE(wait, current); DECLARE_WAITQUEUE(wait, current);
*retlen = 0;
if (!len) if (!len)
return 0; return 0;
...@@ -1497,7 +1487,6 @@ static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -1497,7 +1487,6 @@ static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
int chipnum; int chipnum;
unsigned long ofs; unsigned long ofs;
*retlen = 0;
if (!len) if (!len)
return 0; return 0;
...@@ -1708,7 +1697,6 @@ static int cfi_amdstd_panic_write(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -1708,7 +1697,6 @@ static int cfi_amdstd_panic_write(struct mtd_info *mtd, loff_t to, size_t len,
int ret = 0; int ret = 0;
int chipnum; int chipnum;
*retlen = 0;
if (!len) if (!len)
return 0; return 0;
......
...@@ -394,8 +394,6 @@ static int cfi_staa_read (struct mtd_info *mtd, loff_t from, size_t len, size_t ...@@ -394,8 +394,6 @@ static int cfi_staa_read (struct mtd_info *mtd, loff_t from, size_t len, size_t
chipnum = (from >> cfi->chipshift); chipnum = (from >> cfi->chipshift);
ofs = from - (chipnum << cfi->chipshift); ofs = from - (chipnum << cfi->chipshift);
*retlen = 0;
while (len) { while (len) {
unsigned long thislen; unsigned long thislen;
...@@ -617,7 +615,6 @@ static int cfi_staa_write_buffers (struct mtd_info *mtd, loff_t to, ...@@ -617,7 +615,6 @@ static int cfi_staa_write_buffers (struct mtd_info *mtd, loff_t to,
int chipnum; int chipnum;
unsigned long ofs; unsigned long ofs;
*retlen = 0;
if (!len) if (!len)
return 0; return 0;
......
...@@ -70,13 +70,11 @@ static struct mtd_info *map_absent_probe(struct map_info *map) ...@@ -70,13 +70,11 @@ static struct mtd_info *map_absent_probe(struct map_info *map)
static int map_absent_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, u_char *buf) static int map_absent_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, u_char *buf)
{ {
*retlen = 0;
return -ENODEV; return -ENODEV;
} }
static int map_absent_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf) static int map_absent_write(struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf)
{ {
*retlen = 0;
return -ENODEV; return -ENODEV;
} }
......
...@@ -104,9 +104,6 @@ static int block2mtd_read(struct mtd_info *mtd, loff_t from, size_t len, ...@@ -104,9 +104,6 @@ static int block2mtd_read(struct mtd_info *mtd, loff_t from, size_t len,
int offset = from & (PAGE_SIZE-1); int offset = from & (PAGE_SIZE-1);
int cpylen; int cpylen;
if (retlen)
*retlen = 0;
while (len) { while (len) {
if ((offset + len) > PAGE_SIZE) if ((offset + len) > PAGE_SIZE)
cpylen = PAGE_SIZE - offset; // multiple pages cpylen = PAGE_SIZE - offset; // multiple pages
...@@ -143,8 +140,6 @@ static int _block2mtd_write(struct block2mtd_dev *dev, const u_char *buf, ...@@ -143,8 +140,6 @@ static int _block2mtd_write(struct block2mtd_dev *dev, const u_char *buf,
int offset = to & ~PAGE_MASK; // page offset int offset = to & ~PAGE_MASK; // page offset
int cpylen; int cpylen;
if (retlen)
*retlen = 0;
while (len) { while (len) {
if ((offset+len) > PAGE_SIZE) if ((offset+len) > PAGE_SIZE)
cpylen = PAGE_SIZE - offset; // multiple pages cpylen = PAGE_SIZE - offset; // multiple pages
......
...@@ -603,8 +603,6 @@ static int doc_read(struct mtd_info *mtd, loff_t from, size_t len, ...@@ -603,8 +603,6 @@ static int doc_read(struct mtd_info *mtd, loff_t from, size_t len,
size_t left = len; size_t left = len;
mutex_lock(&this->lock); mutex_lock(&this->lock);
*retlen = 0;
while (left) { while (left) {
len = left; len = left;
...@@ -745,8 +743,6 @@ static int doc_write(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -745,8 +743,6 @@ static int doc_write(struct mtd_info *mtd, loff_t to, size_t len,
int status; int status;
mutex_lock(&this->lock); mutex_lock(&this->lock);
*retlen = 0;
while (left) { while (left) {
len = left; len = left;
......
...@@ -591,7 +591,6 @@ static int doc_write (struct mtd_info *mtd, loff_t to, size_t len, ...@@ -591,7 +591,6 @@ static int doc_write (struct mtd_info *mtd, loff_t to, size_t len,
printk("Error programming flash\n"); printk("Error programming flash\n");
/* Error in programming /* Error in programming
FIXME: implement Bad Block Replacement (in nftl.c ??) */ FIXME: implement Bad Block Replacement (in nftl.c ??) */
*retlen = 0;
ret = -EIO; ret = -EIO;
} }
dummy = ReadDOC(docptr, LastDataRead); dummy = ReadDOC(docptr, LastDataRead);
......
...@@ -792,7 +792,6 @@ static int doc_write(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -792,7 +792,6 @@ static int doc_write(struct mtd_info *mtd, loff_t to, size_t len,
printk("MTD: Error 0x%x programming at 0x%x\n", dummy, (int)to); printk("MTD: Error 0x%x programming at 0x%x\n", dummy, (int)to);
/* Error in programming /* Error in programming
FIXME: implement Bad Block Replacement (in nftl.c ??) */ FIXME: implement Bad Block Replacement (in nftl.c ??) */
*retlen = 0;
ret = -EIO; ret = -EIO;
} }
dummy = ReadDOC(docptr, Mplus_LastDataRead); dummy = ReadDOC(docptr, Mplus_LastDataRead);
......
...@@ -518,8 +518,6 @@ static int flash_write (struct mtd_info *mtd,loff_t to,size_t len,size_t *retlen ...@@ -518,8 +518,6 @@ static int flash_write (struct mtd_info *mtd,loff_t to,size_t len,size_t *retlen
printk (KERN_DEBUG "%s(to = 0x%.8x, len = %d)\n", __func__, (__u32)to, len); printk (KERN_DEBUG "%s(to = 0x%.8x, len = %d)\n", __func__, (__u32)to, len);
#endif #endif
*retlen = 0;
/* sanity checks */ /* sanity checks */
if (!len) return (0); if (!len) return (0);
......
...@@ -365,9 +365,6 @@ static int m25p80_read(struct mtd_info *mtd, loff_t from, size_t len, ...@@ -365,9 +365,6 @@ static int m25p80_read(struct mtd_info *mtd, loff_t from, size_t len,
t[1].len = len; t[1].len = len;
spi_message_add_tail(&t[1], &m); spi_message_add_tail(&t[1], &m);
/* Byte count starts at zero. */
*retlen = 0;
mutex_lock(&flash->lock); mutex_lock(&flash->lock);
/* Wait till previous write/erase is done. */ /* Wait till previous write/erase is done. */
...@@ -411,8 +408,6 @@ static int m25p80_write(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -411,8 +408,6 @@ static int m25p80_write(struct mtd_info *mtd, loff_t to, size_t len,
pr_debug("%s: %s to 0x%08x, len %zd\n", dev_name(&flash->spi->dev), pr_debug("%s: %s to 0x%08x, len %zd\n", dev_name(&flash->spi->dev),
__func__, (u32)to, len); __func__, (u32)to, len);
*retlen = 0;
/* sanity checks */ /* sanity checks */
if (!len) if (!len)
return(0); return(0);
...@@ -500,8 +495,6 @@ static int sst_write(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -500,8 +495,6 @@ static int sst_write(struct mtd_info *mtd, loff_t to, size_t len,
pr_debug("%s: %s to 0x%08x, len %zd\n", dev_name(&flash->spi->dev), pr_debug("%s: %s to 0x%08x, len %zd\n", dev_name(&flash->spi->dev),
__func__, (u32)to, len); __func__, (u32)to, len);
*retlen = 0;
/* sanity checks */ /* sanity checks */
if (!len) if (!len)
return 0; return 0;
......
...@@ -249,8 +249,6 @@ static int dataflash_read(struct mtd_info *mtd, loff_t from, size_t len, ...@@ -249,8 +249,6 @@ static int dataflash_read(struct mtd_info *mtd, loff_t from, size_t len,
pr_debug("%s: read 0x%x..0x%x\n", dev_name(&priv->spi->dev), pr_debug("%s: read 0x%x..0x%x\n", dev_name(&priv->spi->dev),
(unsigned)from, (unsigned)(from + len)); (unsigned)from, (unsigned)(from + len));
*retlen = 0;
/* Sanity checks */ /* Sanity checks */
if (!len) if (!len)
return 0; return 0;
...@@ -323,8 +321,6 @@ static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -323,8 +321,6 @@ static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len,
pr_debug("%s: write 0x%x..0x%x\n", pr_debug("%s: write 0x%x..0x%x\n",
dev_name(&spi->dev), (unsigned)to, (unsigned)(to + len)); dev_name(&spi->dev), (unsigned)to, (unsigned)(to + len));
*retlen = 0;
/* Sanity checks */ /* Sanity checks */
if (!len) if (!len)
return 0; return 0;
......
...@@ -85,8 +85,6 @@ static int phram_write(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -85,8 +85,6 @@ static int phram_write(struct mtd_info *mtd, loff_t to, size_t len,
return 0; return 0;
} }
static void unregister_devices(void) static void unregister_devices(void)
{ {
struct phram_mtd_list *this, *safe; struct phram_mtd_list *this, *safe;
......
...@@ -574,11 +574,6 @@ static int spear_mtd_read(struct mtd_info *mtd, loff_t from, size_t len, ...@@ -574,11 +574,6 @@ static int spear_mtd_read(struct mtd_info *mtd, loff_t from, size_t len,
return -EINVAL; return -EINVAL;
} }
if (!retlen)
return -EINVAL;
else
*retlen = 0;
/* select address as per bank number */ /* select address as per bank number */
src = flash->base_addr + from; src = flash->base_addr + from;
...@@ -675,11 +670,6 @@ static int spear_mtd_write(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -675,11 +670,6 @@ static int spear_mtd_write(struct mtd_info *mtd, loff_t to, size_t len,
return -EINVAL; return -EINVAL;
} }
if (!retlen)
return -EINVAL;
else
*retlen = 0;
/* select address as per bank number */ /* select address as per bank number */
dest = flash->base_addr + to; dest = flash->base_addr + to;
mutex_lock(&flash->lock); mutex_lock(&flash->lock);
......
...@@ -224,9 +224,6 @@ static int sst25l_read(struct mtd_info *mtd, loff_t from, size_t len, ...@@ -224,9 +224,6 @@ static int sst25l_read(struct mtd_info *mtd, loff_t from, size_t len,
if (len == 0) if (len == 0)
return 0; return 0;
if (retlen)
*retlen = 0;
spi_message_init(&message); spi_message_init(&message);
memset(&transfer, 0, sizeof(transfer)); memset(&transfer, 0, sizeof(transfer));
......
...@@ -535,9 +535,7 @@ static int lpddr_point(struct mtd_info *mtd, loff_t adr, size_t len, ...@@ -535,9 +535,7 @@ static int lpddr_point(struct mtd_info *mtd, loff_t adr, size_t len,
/* ofs: offset within the first chip that the first read should start */ /* ofs: offset within the first chip that the first read should start */
ofs = adr - (chipnum << lpddr->chipshift); ofs = adr - (chipnum << lpddr->chipshift);
*mtdbuf = (void *)map->virt + chip->start + ofs; *mtdbuf = (void *)map->virt + chip->start + ofs;
*retlen = 0;
while (len) { while (len) {
unsigned long thislen; unsigned long thislen;
...@@ -647,7 +645,6 @@ static int lpddr_writev(struct mtd_info *mtd, const struct kvec *vecs, ...@@ -647,7 +645,6 @@ static int lpddr_writev(struct mtd_info *mtd, const struct kvec *vecs,
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
len += vecs[i].iov_len; len += vecs[i].iov_len;
*retlen = 0;
if (!len) if (!len)
return 0; return 0;
......
...@@ -72,8 +72,6 @@ concat_read(struct mtd_info *mtd, loff_t from, size_t len, ...@@ -72,8 +72,6 @@ concat_read(struct mtd_info *mtd, loff_t from, size_t len,
int ret = 0, err; int ret = 0, err;
int i; int i;
*retlen = 0;
for (i = 0; i < concat->num_subdev; i++) { for (i = 0; i < concat->num_subdev; i++) {
struct mtd_info *subdev = concat->subdev[i]; struct mtd_info *subdev = concat->subdev[i];
size_t size, retsize; size_t size, retsize;
...@@ -126,8 +124,6 @@ concat_write(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -126,8 +124,6 @@ concat_write(struct mtd_info *mtd, loff_t to, size_t len,
int err = -EINVAL; int err = -EINVAL;
int i; int i;
*retlen = 0;
for (i = 0; i < concat->num_subdev; i++) { for (i = 0; i < concat->num_subdev; i++) {
struct mtd_info *subdev = concat->subdev[i]; struct mtd_info *subdev = concat->subdev[i];
size_t size, retsize; size_t size, retsize;
...@@ -169,8 +165,6 @@ concat_writev(struct mtd_info *mtd, const struct kvec *vecs, ...@@ -169,8 +165,6 @@ concat_writev(struct mtd_info *mtd, const struct kvec *vecs,
int i; int i;
int err = -EINVAL; int err = -EINVAL;
*retlen = 0;
/* Calculate total length of data */ /* Calculate total length of data */
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
total_len += vecs[i].iov_len; total_len += vecs[i].iov_len;
......
...@@ -744,6 +744,7 @@ EXPORT_SYMBOL_GPL(mtd_get_unmapped_area); ...@@ -744,6 +744,7 @@ EXPORT_SYMBOL_GPL(mtd_get_unmapped_area);
int mtd_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen, int mtd_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retlen,
u_char *buf) u_char *buf)
{ {
*retlen = 0;
if (from < 0 || from > mtd->size || len > mtd->size - from) if (from < 0 || from > mtd->size || len > mtd->size - from)
return -EINVAL; return -EINVAL;
return mtd->_read(mtd, from, len, retlen, buf); return mtd->_read(mtd, from, len, retlen, buf);
......
...@@ -1753,9 +1753,6 @@ static int onenand_panic_write(struct mtd_info *mtd, loff_t to, size_t len, ...@@ -1753,9 +1753,6 @@ static int onenand_panic_write(struct mtd_info *mtd, loff_t to, size_t len,
pr_debug("%s: to = 0x%08x, len = %i\n", __func__, (unsigned int)to, pr_debug("%s: to = 0x%08x, len = %i\n", __func__, (unsigned int)to,
(int)len); (int)len);
/* Initialize retlen, in case of early exit */
*retlen = 0;
/* Reject writes, which are not page aligned */ /* Reject writes, which are not page aligned */
if (unlikely(NOTALIGNED(to) || NOTALIGNED(len))) { if (unlikely(NOTALIGNED(to) || NOTALIGNED(len))) {
printk(KERN_ERR "%s: Attempt to write not page aligned data\n", printk(KERN_ERR "%s: Attempt to write not page aligned data\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment