mtd: Few follow up cleanups for Smartmedia/xD support
* 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>
This commit is contained in:
Родитель
67e054e919
Коммит
133fa8c7d7
|
@ -380,9 +380,11 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
|
||||||
|
|
||||||
add_disk(gd);
|
add_disk(gd);
|
||||||
|
|
||||||
if (new->disk_attributes)
|
if (new->disk_attributes) {
|
||||||
sysfs_create_group(&disk_to_dev(gd)->kobj,
|
ret = sysfs_create_group(&disk_to_dev(gd)->kobj,
|
||||||
new->disk_attributes);
|
new->disk_attributes);
|
||||||
|
WARN_ON(ret);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
error4:
|
error4:
|
||||||
module_put(tr->owner);
|
module_put(tr->owner);
|
||||||
|
|
|
@ -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)
|
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);
|
del_mtd_blktrans_dev(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -654,7 +654,9 @@ int r852_register_nand_device(struct r852_device *dev)
|
||||||
if (sm_register_device(dev->mtd))
|
if (sm_register_device(dev->mtd))
|
||||||
goto error2;
|
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;
|
dev->card_registred = 1;
|
||||||
return 0;
|
return 0;
|
||||||
error2:
|
error2:
|
||||||
|
@ -838,7 +840,7 @@ int r852_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
|
||||||
|
|
||||||
pci_set_master(pci_dev);
|
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)
|
if (error)
|
||||||
goto error2;
|
goto error2;
|
||||||
|
|
||||||
|
|
|
@ -228,7 +228,7 @@ static int sm_read_sector(struct sm_ftl *ftl,
|
||||||
struct mtd_info *mtd = ftl->trans->mtd;
|
struct mtd_info *mtd = ftl->trans->mtd;
|
||||||
struct mtd_oob_ops ops;
|
struct mtd_oob_ops ops;
|
||||||
struct sm_oob tmp_oob;
|
struct sm_oob tmp_oob;
|
||||||
int ret;
|
int ret = -EIO;
|
||||||
int try = 0;
|
int try = 0;
|
||||||
|
|
||||||
/* FTL can contain -1 entries that are by default filled with bits */
|
/* 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;
|
uint16_t block;
|
||||||
int lba;
|
int lba;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
int len;
|
||||||
|
|
||||||
dbg("initializing zone %d", zone_num);
|
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);
|
i %= (kfifo_len(&zone->free_sectors) / 2);
|
||||||
|
|
||||||
while (i--) {
|
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);
|
kfifo_in(&zone->free_sectors, (const unsigned char *)&block, 2);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -947,17 +950,17 @@ restart:
|
||||||
|
|
||||||
if (ftl->unstable)
|
if (ftl->unstable)
|
||||||
return -EIO;
|
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,
|
but for such worn out media it doesn't worth the trouble,
|
||||||
and the dangers */
|
and the dangers */
|
||||||
|
if (kfifo_out(&zone->free_sectors,
|
||||||
if (!kfifo_len(&zone->free_sectors)) {
|
(unsigned char *)&write_sector, 2) != 2) {
|
||||||
dbg("no free sectors for write!");
|
dbg("no free sectors for write!");
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
kfifo_out(&zone->free_sectors, (unsigned char *)&write_sector, 2);
|
|
||||||
|
|
||||||
if (sm_write_block(ftl, ftl->cache_data, zone_num, write_sector,
|
if (sm_write_block(ftl, ftl->cache_data, zone_num, write_sector,
|
||||||
ftl->cache_block, ftl->cache_data_invalid_bitmap))
|
ftl->cache_block, ftl->cache_data_invalid_bitmap))
|
||||||
|
|
Загрузка…
Ссылка в новой задаче