diff options
Diffstat (limited to 'drivers/mtd/devices/doc2001plus.c')
| -rw-r--r-- | drivers/mtd/devices/doc2001plus.c | 22 | 
1 files changed, 7 insertions, 15 deletions
diff --git a/drivers/mtd/devices/doc2001plus.c b/drivers/mtd/devices/doc2001plus.c index 177510d0e7e..04eb2e4aa50 100644 --- a/drivers/mtd/devices/doc2001plus.c +++ b/drivers/mtd/devices/doc2001plus.c @@ -467,14 +467,15 @@ void DoCMilPlus_init(struct mtd_info *mtd)  	mtd->type = MTD_NANDFLASH;  	mtd->flags = MTD_CAP_NANDFLASH; -	mtd->writesize = 512; +	mtd->writebufsize = mtd->writesize = 512;  	mtd->oobsize = 16; +	mtd->ecc_strength = 2;  	mtd->owner = THIS_MODULE; -	mtd->erase = doc_erase; -	mtd->read = doc_read; -	mtd->write = doc_write; -	mtd->read_oob = doc_read_oob; -	mtd->write_oob = doc_write_oob; +	mtd->_erase = doc_erase; +	mtd->_read = doc_read; +	mtd->_write = doc_write; +	mtd->_read_oob = doc_read_oob; +	mtd->_write_oob = doc_write_oob;  	this->curfloor = -1;  	this->curchip = -1; @@ -581,10 +582,6 @@ static int doc_read(struct mtd_info *mtd, loff_t from, size_t len,  	void __iomem * docptr = this->virtadr;  	struct Nand *mychip = &this->chips[from >> (this->chipshift)]; -	/* Don't allow read past end of device */ -	if (from >= this->totlen) -		return -EINVAL; -  	/* Don't allow a single read to cross a 512-byte block boundary */  	if (from + len > ((from | 0x1ff) + 1))  		len = ((from | 0x1ff) + 1) - from; @@ -700,10 +697,6 @@ static int doc_write(struct mtd_info *mtd, loff_t to, size_t len,  	void __iomem * docptr = this->virtadr;  	struct Nand *mychip = &this->chips[to >> (this->chipshift)]; -	/* Don't allow write past end of device */ -	if (to >= this->totlen) -		return -EINVAL; -  	/* Don't allow writes which aren't exactly one block (512 bytes) */  	if ((to & 0x1ff) || (len != 0x200))  		return -EINVAL; @@ -800,7 +793,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);  		/* Error in programming  		   FIXME: implement Bad Block Replacement (in nftl.c ??) */ -		*retlen = 0;  		ret = -EIO;  	}  	dummy = ReadDOC(docptr, Mplus_LastDataRead);  |