mtd: Few follow up cleanups for Smartmedia/xD support
authorMaxim Levitsky <maximlevitsky@gmail.com>
Fri, 26 Feb 2010 20:08:40 +0000 (22:08 +0200)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 26 Feb 2010 20:13:49 +0000 (20:13 +0000)
* Test results of few functions that were declared with __must_check
* Fix bogus gcc warning about uinitialized variable 'ret'
* Remove unused variable from mtdblock_remove_dev
* Don't use deprecated DMA_32BIT_MASK

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/mtd_blkdevs.c
drivers/mtd/mtdblock.c
drivers/mtd/nand/r852.c
drivers/mtd/sm_ftl.c

index 9dd23d6..e32c49c 100644 (file)
@@ -380,9 +380,11 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
 
        add_disk(gd);
 
-       if (new->disk_attributes)
-               sysfs_create_group(&disk_to_dev(gd)->kobj,
+       if (new->disk_attributes) {
+               ret = sysfs_create_group(&disk_to_dev(gd)->kobj,
                                        new->disk_attributes);
+               WARN_ON(ret);
+       }
        return 0;
 error4:
        module_put(tr->owner);
index 7ce30a2..e6edbec 100644 (file)
@@ -354,7 +354,6 @@ static void mtdblock_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd)
 
 static void mtdblock_remove_dev(struct mtd_blktrans_dev *dev)
 {
-       struct mtdblk_dev *mtdblk = container_of(dev, struct mtdblk_dev, mbd);
        del_mtd_blktrans_dev(dev);
 }
 
index 9307a88..7a616a9 100644 (file)
@@ -654,7 +654,9 @@ int r852_register_nand_device(struct r852_device *dev)
        if (sm_register_device(dev->mtd))
                goto error2;
 
-       device_create_file(&dev->mtd->dev, &dev_attr_media_type);
+       if (device_create_file(&dev->mtd->dev, &dev_attr_media_type))
+               message("can't create media type sysfs attribute");
+
        dev->card_registred = 1;
        return 0;
 error2:
@@ -838,7 +840,7 @@ int  r852_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
 
        pci_set_master(pci_dev);
 
-       error = pci_set_dma_mask(pci_dev, DMA_32BIT_MASK);
+       error = pci_set_dma_mask(pci_dev, DMA_BIT_MASK(32));
        if (error)
                goto error2;
 
index a59ebb4..9fb56c7 100644 (file)
@@ -228,7 +228,7 @@ static int sm_read_sector(struct sm_ftl *ftl,
        struct mtd_info *mtd = ftl->trans->mtd;
        struct mtd_oob_ops ops;
        struct sm_oob tmp_oob;
-       int ret;
+       int ret = -EIO;
        int try = 0;
 
        /* FTL can contain -1 entries that are by default filled with bits */
@@ -753,6 +753,7 @@ static int sm_init_zone(struct sm_ftl *ftl, int zone_num)
        uint16_t block;
        int lba;
        int i = 0;
+       int len;
 
        dbg("initializing zone %d", zone_num);
 
@@ -856,7 +857,9 @@ static int sm_init_zone(struct sm_ftl *ftl, int zone_num)
        i %= (kfifo_len(&zone->free_sectors) / 2);
 
        while (i--) {
-               kfifo_out(&zone->free_sectors, (unsigned char *)&block, 2);
+               len = kfifo_out(&zone->free_sectors,
+                                       (unsigned char *)&block, 2);
+               WARN_ON(len != 2);
                kfifo_in(&zone->free_sectors, (const unsigned char *)&block, 2);
        }
        return 0;
@@ -947,17 +950,17 @@ restart:
 
        if (ftl->unstable)
                return -EIO;
-       /* No spare blocks */
-       /* We could still continue by erasing the current block,
+
+       /* If there are no spare blocks, */
+       /* we could still continue by erasing/writing the current block,
                but for such worn out media it doesn't worth the trouble,
                        and the dangers */
-
-       if (!kfifo_len(&zone->free_sectors)) {
+       if (kfifo_out(&zone->free_sectors,
+                               (unsigned char *)&write_sector, 2) != 2) {
                dbg("no free sectors for write!");
                return -EIO;
        }
 
-       kfifo_out(&zone->free_sectors, (unsigned char *)&write_sector, 2);
 
        if (sm_write_block(ftl, ftl->cache_data, zone_num, write_sector,
                ftl->cache_block, ftl->cache_data_invalid_bitmap))