mtd: rawnand: Stop using chip->state in drivers
authorBoris Brezillon <boris.brezillon@bootlin.com>
Tue, 20 Nov 2018 10:57:19 +0000 (11:57 +0100)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Tue, 5 Feb 2019 14:39:40 +0000 (15:39 +0100)
We are about to simplify the locking in the rawnand framework, and part
of this simplication is about getting rid of chip->state, so let's
first patch drivers that check the state.

All of them do that to get a timeout value based on the operation that
is being executed. Since a timeout is, by definition, something that
is here to prevent hanging on an event that might never happen,
picking the maximum timeout value no matter the operation should be
harmless.

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/mtd/nand/raw/omap2.c
drivers/mtd/nand/raw/r852.c
drivers/mtd/nand/raw/tmio_nand.c

index eb6ec332624a89b20253bc029a970bb46a3c8b18..8f280a2962c8b8b6cacad67a67df67a54e3ebe29 100644 (file)
@@ -994,12 +994,9 @@ static int omap_wait(struct nand_chip *this)
 {
        struct omap_nand_info *info = mtd_to_omap(nand_to_mtd(this));
        unsigned long timeo = jiffies;
-       int status, state = this->state;
+       int status;
 
-       if (state == FL_ERASING)
-               timeo += msecs_to_jiffies(400);
-       else
-               timeo += msecs_to_jiffies(20);
+       timeo += msecs_to_jiffies(400);
 
        writeb(NAND_CMD_STATUS & 0xFF, info->reg.gpmc_nand_command);
        while (time_before(jiffies, timeo)) {
index c01422d953dd80487f3a21839bccf6859d818951..86456216fb93f5bf9b90fc6b6f454630e947269b 100644 (file)
@@ -369,8 +369,7 @@ static int r852_wait(struct nand_chip *chip)
        unsigned long timeout;
        u8 status;
 
-       timeout = jiffies + (chip->state == FL_ERASING ?
-               msecs_to_jiffies(400) : msecs_to_jiffies(20));
+       timeout = jiffies + msecs_to_jiffies(400);
 
        while (time_before(jiffies, timeout))
                if (chip->legacy.dev_ready(chip))
index 4405273898ac652b5c72323d909858ee4482a2da..db030f1701ee273409f5456113dbb6817badcbee 100644 (file)
@@ -195,15 +195,13 @@ static int tmio_nand_wait(struct nand_chip *nand_chip)
        reinit_completion(&tmio->comp);
        tmio_iowrite8(0x81, tmio->fcr + FCR_IMR);
 
-       timeout = nand_chip->state == FL_ERASING ? 400 : 20;
+       timeout = 400;
        timeout = wait_for_completion_timeout(&tmio->comp,
                                              msecs_to_jiffies(timeout));
 
        if (unlikely(!tmio_nand_dev_ready(nand_chip))) {
                tmio_iowrite8(0x00, tmio->fcr + FCR_IMR);
-               dev_warn(&tmio->dev->dev, "still busy with %s after %d ms\n",
-                       nand_chip->state == FL_ERASING ? "erase" : "program",
-                       nand_chip->state == FL_ERASING ? 400 : 20);
+               dev_warn(&tmio->dev->dev, "still busy after 400 ms\n");
 
        } else if (unlikely(!timeout)) {
                tmio_iowrite8(0x00, tmio->fcr + FCR_IMR);