mtd: nand-gpio: Use default nand_base {read/write}_buf functions
Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
ee4f36663b
commit
2189408cb7
1 changed files with 0 additions and 56 deletions
|
@ -87,51 +87,6 @@ static void gpio_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
|
||||||
gpio_nand_dosync(gpiomtd);
|
gpio_nand_dosync(gpiomtd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gpio_nand_writebuf(struct mtd_info *mtd, const u_char *buf, int len)
|
|
||||||
{
|
|
||||||
struct nand_chip *this = mtd->priv;
|
|
||||||
|
|
||||||
iowrite8_rep(this->IO_ADDR_W, buf, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void gpio_nand_readbuf(struct mtd_info *mtd, u_char *buf, int len)
|
|
||||||
{
|
|
||||||
struct nand_chip *this = mtd->priv;
|
|
||||||
|
|
||||||
ioread8_rep(this->IO_ADDR_R, buf, len);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void gpio_nand_writebuf16(struct mtd_info *mtd, const u_char *buf,
|
|
||||||
int len)
|
|
||||||
{
|
|
||||||
struct nand_chip *this = mtd->priv;
|
|
||||||
|
|
||||||
if (IS_ALIGNED((unsigned long)buf, 2)) {
|
|
||||||
iowrite16_rep(this->IO_ADDR_W, buf, len>>1);
|
|
||||||
} else {
|
|
||||||
int i;
|
|
||||||
unsigned short *ptr = (unsigned short *)buf;
|
|
||||||
|
|
||||||
for (i = 0; i < len; i += 2, ptr++)
|
|
||||||
writew(*ptr, this->IO_ADDR_W);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void gpio_nand_readbuf16(struct mtd_info *mtd, u_char *buf, int len)
|
|
||||||
{
|
|
||||||
struct nand_chip *this = mtd->priv;
|
|
||||||
|
|
||||||
if (IS_ALIGNED((unsigned long)buf, 2)) {
|
|
||||||
ioread16_rep(this->IO_ADDR_R, buf, len>>1);
|
|
||||||
} else {
|
|
||||||
int i;
|
|
||||||
unsigned short *ptr = (unsigned short *)buf;
|
|
||||||
|
|
||||||
for (i = 0; i < len; i += 2, ptr++)
|
|
||||||
*ptr = readw(this->IO_ADDR_R);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int gpio_nand_devready(struct mtd_info *mtd)
|
static int gpio_nand_devready(struct mtd_info *mtd)
|
||||||
{
|
{
|
||||||
struct gpiomtd *gpiomtd = gpio_nand_getpriv(mtd);
|
struct gpiomtd *gpiomtd = gpio_nand_getpriv(mtd);
|
||||||
|
@ -314,19 +269,8 @@ static int gpio_nand_probe(struct platform_device *dev)
|
||||||
this->ecc.mode = NAND_ECC_SOFT;
|
this->ecc.mode = NAND_ECC_SOFT;
|
||||||
this->options = gpiomtd->plat.options;
|
this->options = gpiomtd->plat.options;
|
||||||
this->chip_delay = gpiomtd->plat.chip_delay;
|
this->chip_delay = gpiomtd->plat.chip_delay;
|
||||||
|
|
||||||
/* install our routines */
|
|
||||||
this->cmd_ctrl = gpio_nand_cmd_ctrl;
|
this->cmd_ctrl = gpio_nand_cmd_ctrl;
|
||||||
|
|
||||||
if (this->options & NAND_BUSWIDTH_16) {
|
|
||||||
this->read_buf = gpio_nand_readbuf16;
|
|
||||||
this->write_buf = gpio_nand_writebuf16;
|
|
||||||
} else {
|
|
||||||
this->read_buf = gpio_nand_readbuf;
|
|
||||||
this->write_buf = gpio_nand_writebuf;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* set the mtd private data for the nand driver */
|
|
||||||
gpiomtd->mtd_info.priv = this;
|
gpiomtd->mtd_info.priv = this;
|
||||||
gpiomtd->mtd_info.owner = THIS_MODULE;
|
gpiomtd->mtd_info.owner = THIS_MODULE;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue