]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/mtd/chips/cfi_cmdset_0002.c
mtd: chips: cfi_cmdset_0002: Match ENABLE_VPP()/DISABLE_VPP() calls
[karo-tx-linux.git] / drivers / mtd / chips / cfi_cmdset_0002.c
index c1d4624ce6e733fe097193799496c234f9da8764..d02592e6a0f02a89195ef1aea302445d98585b0e 100644 (file)
@@ -774,8 +774,6 @@ static void put_chip(struct map_info *map, struct flchip *chip, unsigned long ad
 
        case FL_READY:
        case FL_STATUS:
-               /* We should really make set_vpp() count, rather than doing this */
-               DISABLE_VPP(map);
                break;
        default:
                printk(KERN_ERR "MTD: put_chip() called with oldstate %d!!\n", chip->oldstate);
@@ -1229,6 +1227,7 @@ static int __xipram do_write_oneword(struct map_info *map, struct flchip *chip,
        xip_enable(map, chip, adr);
  op_done:
        chip->state = FL_READY;
+       DISABLE_VPP(map);
        put_chip(map, chip, adr);
        mutex_unlock(&chip->mutex);
 
@@ -1467,6 +1466,7 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
        ret = -EIO;
  op_done:
        chip->state = FL_READY;
+       DISABLE_VPP(map);
        put_chip(map, chip, adr);
        mutex_unlock(&chip->mutex);
 
@@ -1868,6 +1868,7 @@ static int __xipram do_erase_chip(struct map_info *map, struct flchip *chip)
 
        chip->state = FL_READY;
        xip_enable(map, chip, adr);
+       DISABLE_VPP(map);
        put_chip(map, chip, adr);
        mutex_unlock(&chip->mutex);
 
@@ -1958,6 +1959,7 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
        }
 
        chip->state = FL_READY;
+       DISABLE_VPP(map);
        put_chip(map, chip, adr);
        mutex_unlock(&chip->mutex);
        return ret;