From: Jesper Juhl This is the drivers/mtd part of the big kfree cleanup patch. Remove pointless checks for NULL prior to calling kfree() in drivers/mtd/. Signed-off-by: Jesper Juhl Cc: David Woodhouse Signed-off-by: Andrew Morton --- drivers/mtd/chips/cfi_cmdset_0001.c | 3 +-- drivers/mtd/chips/cfi_cmdset_0002.c | 4 ++-- drivers/mtd/devices/blkmtd.c | 7 ++----- drivers/mtd/inftlcore.c | 12 ++++-------- drivers/mtd/maps/amd76xrom.c | 4 +--- drivers/mtd/maps/bast-flash.c | 3 +-- drivers/mtd/maps/ceiva.c | 3 +-- drivers/mtd/maps/ichxrom.c | 5 ++--- drivers/mtd/maps/integrator-flash.c | 6 ++---- drivers/mtd/maps/ipaq-flash.c | 3 +-- drivers/mtd/maps/iq80310.c | 3 +-- drivers/mtd/maps/ixp2000.c | 3 +-- drivers/mtd/maps/ixp4xx.c | 3 +-- drivers/mtd/maps/lubbock-flash.c | 3 +-- drivers/mtd/maps/omap-toto-flash.c | 3 +-- drivers/mtd/maps/sa1100-flash.c | 3 +-- drivers/mtd/maps/sun_uflash.c | 4 +--- drivers/mtd/maps/tqm8xxl.c | 6 ++---- drivers/mtd/nand/nand_base.c | 5 ++--- drivers/mtd/nftlcore.c | 12 ++++-------- 20 files changed, 32 insertions(+), 63 deletions(-) diff -puN drivers/mtd/chips/cfi_cmdset_0001.c~kfree-cleanup-drivers-mtd drivers/mtd/chips/cfi_cmdset_0001.c --- devel/drivers/mtd/chips/cfi_cmdset_0001.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/chips/cfi_cmdset_0001.c 2005-10-14 01:44:35.000000000 -0700 @@ -464,8 +464,7 @@ static struct mtd_info *cfi_intelext_set setup_err: if(mtd) { - if(mtd->eraseregions) - kfree(mtd->eraseregions); + kfree(mtd->eraseregions); kfree(mtd); } kfree(cfi->cmdset_priv); diff -puN drivers/mtd/chips/cfi_cmdset_0002.c~kfree-cleanup-drivers-mtd drivers/mtd/chips/cfi_cmdset_0002.c --- devel/drivers/mtd/chips/cfi_cmdset_0002.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/chips/cfi_cmdset_0002.c 2005-10-14 01:44:35.000000000 -0700 @@ -388,8 +388,7 @@ static struct mtd_info *cfi_amdstd_setup setup_err: if(mtd) { - if(mtd->eraseregions) - kfree(mtd->eraseregions); + kfree(mtd->eraseregions); kfree(mtd); } kfree(cfi->cmdset_priv); @@ -1752,6 +1751,7 @@ static void cfi_amdstd_destroy(struct mt { struct map_info *map = mtd->priv; struct cfi_private *cfi = map->fldrv_priv; + kfree(cfi->cmdset_priv); kfree(cfi->cfiq); kfree(cfi); diff -puN drivers/mtd/devices/blkmtd.c~kfree-cleanup-drivers-mtd drivers/mtd/devices/blkmtd.c --- devel/drivers/mtd/devices/blkmtd.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/devices/blkmtd.c 2005-10-14 01:44:35.000000000 -0700 @@ -539,11 +539,8 @@ static void free_device(struct blkmtd_de { DEBUG(2, "blkmtd: free_device() dev = %p\n", dev); if(dev) { - if(dev->mtd_info.eraseregions) - kfree(dev->mtd_info.eraseregions); - if(dev->mtd_info.name) - kfree(dev->mtd_info.name); - + kfree(dev->mtd_info.eraseregions); + kfree(dev->mtd_info.name); if(dev->blkdev) { invalidate_inode_pages(dev->blkdev->bd_inode->i_mapping); close_bdev_excl(dev->blkdev); diff -puN drivers/mtd/inftlcore.c~kfree-cleanup-drivers-mtd drivers/mtd/inftlcore.c --- devel/drivers/mtd/inftlcore.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/inftlcore.c 2005-10-14 01:44:35.000000000 -0700 @@ -126,10 +126,8 @@ static void inftl_add_mtd(struct mtd_blk } if (add_mtd_blktrans_dev(&inftl->mbd)) { - if (inftl->PUtable) - kfree(inftl->PUtable); - if (inftl->VUtable) - kfree(inftl->VUtable); + kfree(inftl->PUtable); + kfree(inftl->VUtable); kfree(inftl); return; } @@ -147,10 +145,8 @@ static void inftl_remove_dev(struct mtd_ del_mtd_blktrans_dev(dev); - if (inftl->PUtable) - kfree(inftl->PUtable); - if (inftl->VUtable) - kfree(inftl->VUtable); + kfree(inftl->PUtable); + kfree(inftl->VUtable); kfree(inftl); } diff -puN drivers/mtd/maps/amd76xrom.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/amd76xrom.c --- devel/drivers/mtd/maps/amd76xrom.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/amd76xrom.c 2005-10-14 01:44:35.000000000 -0700 @@ -259,9 +259,7 @@ static int __devinit amd76xrom_init_one out: /* Free any left over map structures */ - if (map) { - kfree(map); - } + kfree(map); /* See if I have any map structures */ if (list_empty(&window->maps)) { amd76xrom_cleanup(window); diff -puN drivers/mtd/maps/bast-flash.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/bast-flash.c --- devel/drivers/mtd/maps/bast-flash.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/bast-flash.c 2005-10-14 01:44:35.000000000 -0700 @@ -104,8 +104,7 @@ static int bast_flash_remove(struct devi map_destroy(info->mtd); } - if (info->partitions) - kfree(info->partitions); + kfree(info->partitions); if (info->area) { release_resource(info->area); diff -puN drivers/mtd/maps/ceiva.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/ceiva.c --- devel/drivers/mtd/maps/ceiva.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/ceiva.c 2005-10-14 01:44:35.000000000 -0700 @@ -313,8 +313,7 @@ static void __init clps_locate_partition static void __exit clps_destroy_partitions(void) { - if (parsed_parts) - kfree(parsed_parts); + kfree(parsed_parts); } static struct mtd_info *mymtd; diff -puN drivers/mtd/maps/ichxrom.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/ichxrom.c --- devel/drivers/mtd/maps/ichxrom.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/ichxrom.c 2005-10-14 01:44:35.000000000 -0700 @@ -306,9 +306,8 @@ static int __devinit ichxrom_init_one (s out: /* Free any left over map structures */ - if (map) { - kfree(map); - } + kfree(map); + /* See if I have any map structures */ if (list_empty(&window->maps)) { ichxrom_cleanup(window); diff -puN drivers/mtd/maps/integrator-flash.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/integrator-flash.c --- devel/drivers/mtd/maps/integrator-flash.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/integrator-flash.c 2005-10-14 01:44:35.000000000 -0700 @@ -148,8 +148,7 @@ static int armflash_probe(struct device del_mtd_partitions(info->mtd); map_destroy(info->mtd); } - if (info->parts) - kfree(info->parts); + kfree(info->parts); no_device: iounmap(base); @@ -176,8 +175,7 @@ static int armflash_remove(struct device del_mtd_partitions(info->mtd); map_destroy(info->mtd); } - if (info->parts) - kfree(info->parts); + kfree(info->parts); iounmap(info->map.virt); release_resource(info->res); diff -puN drivers/mtd/maps/ipaq-flash.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/ipaq-flash.c --- devel/drivers/mtd/maps/ipaq-flash.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/ipaq-flash.c 2005-10-14 01:44:35.000000000 -0700 @@ -431,8 +431,7 @@ static void __exit ipaq_mtd_cleanup(void if (my_sub_mtd[i]) map_destroy(my_sub_mtd[i]); } - if (parsed_parts) - kfree(parsed_parts); + kfree(parsed_parts); } } diff -puN drivers/mtd/maps/iq80310.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/iq80310.c --- devel/drivers/mtd/maps/iq80310.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/iq80310.c 2005-10-14 01:44:35.000000000 -0700 @@ -103,8 +103,7 @@ static void __exit cleanup_iq80310(void) if (mymtd) { del_mtd_partitions(mymtd); map_destroy(mymtd); - if (parsed_parts) - kfree(parsed_parts); + kfree(parsed_parts); } if (iq80310_map.virt) iounmap((void *)iq80310_map.virt); diff -puN drivers/mtd/maps/ixp2000.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/ixp2000.c --- devel/drivers/mtd/maps/ixp2000.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/ixp2000.c 2005-10-14 01:44:35.000000000 -0700 @@ -128,8 +128,7 @@ static int ixp2000_flash_remove(struct d if (info->map.map_priv_1) iounmap((void *) info->map.map_priv_1); - if (info->partitions) { - kfree(info->partitions); } + kfree(info->partitions); if (info->res) { release_resource(info->res); diff -puN drivers/mtd/maps/ixp4xx.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/ixp4xx.c --- devel/drivers/mtd/maps/ixp4xx.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/ixp4xx.c 2005-10-14 01:44:35.000000000 -0700 @@ -123,8 +123,7 @@ static int ixp4xx_flash_remove(struct de if (info->map.map_priv_1) iounmap((void *) info->map.map_priv_1); - if (info->partitions) - kfree(info->partitions); + kfree(info->partitions); if (info->res) { release_resource(info->res); diff -puN drivers/mtd/maps/lubbock-flash.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/lubbock-flash.c --- devel/drivers/mtd/maps/lubbock-flash.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/lubbock-flash.c 2005-10-14 01:44:35.000000000 -0700 @@ -158,8 +158,7 @@ static void __exit cleanup_lubbock(void) if (lubbock_maps[i].cached) iounmap(lubbock_maps[i].cached); - if (parsed_parts[i]) - kfree(parsed_parts[i]); + kfree(parsed_parts[i]); } } diff -puN drivers/mtd/maps/omap-toto-flash.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/omap-toto-flash.c --- devel/drivers/mtd/maps/omap-toto-flash.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/omap-toto-flash.c 2005-10-14 01:44:35.000000000 -0700 @@ -124,8 +124,7 @@ static void __exit omap_toto_mtd_cleanu if (flash_mtd) { del_mtd_partitions(flash_mtd); map_destroy(flash_mtd); - if (parsed_parts) - kfree(parsed_parts); + kfree(parsed_parts); } } diff -puN drivers/mtd/maps/sa1100-flash.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/sa1100-flash.c --- devel/drivers/mtd/maps/sa1100-flash.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/sa1100-flash.c 2005-10-14 01:44:35.000000000 -0700 @@ -235,8 +235,7 @@ static void sa1100_destroy(struct sa_inf #endif } - if (info->parts) - kfree(info->parts); + kfree(info->parts); for (i = info->num_subdev - 1; i >= 0; i--) sa1100_destroy_subdev(&info->subdev[i]); diff -puN drivers/mtd/maps/sun_uflash.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/sun_uflash.c --- devel/drivers/mtd/maps/sun_uflash.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/sun_uflash.c 2005-10-14 01:44:35.000000000 -0700 @@ -166,9 +166,7 @@ static void __exit uflash_cleanup(void) iounmap(udev->map.virt); udev->map.virt = NULL; } - if(0 != udev->name) { - kfree(udev->name); - } + kfree(udev->name); kfree(udev); } } diff -puN drivers/mtd/maps/tqm8xxl.c~kfree-cleanup-drivers-mtd drivers/mtd/maps/tqm8xxl.c --- devel/drivers/mtd/maps/tqm8xxl.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/maps/tqm8xxl.c 2005-10-14 01:44:35.000000000 -0700 @@ -224,10 +224,8 @@ int __init init_tqm_mtd(void) error_mem: for(idx = 0 ; idx < FLASH_BANK_MAX ; idx++) { if(map_banks[idx] != NULL) { - if(map_banks[idx]->name != NULL) { - kfree(map_banks[idx]->name); - map_banks[idx]->name = NULL; - } + kfree(map_banks[idx]->name); + map_banks[idx]->name = NULL; kfree(map_banks[idx]); map_banks[idx] = NULL; } diff -puN drivers/mtd/nand/nand_base.c~kfree-cleanup-drivers-mtd drivers/mtd/nand/nand_base.c --- devel/drivers/mtd/nand/nand_base.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/nand/nand_base.c 2005-10-14 01:44:35.000000000 -0700 @@ -2676,9 +2676,8 @@ void nand_release (struct mtd_info *mtd) /* Deregister the device */ del_mtd_device (mtd); - /* Free bad block table memory, if allocated */ - if (this->bbt) - kfree (this->bbt); + /* Free bad block table memory */ + kfree (this->bbt); /* Buffer allocated by nand_scan ? */ if (this->options & NAND_OOBBUF_ALLOC) kfree (this->oob_buf); diff -puN drivers/mtd/nftlcore.c~kfree-cleanup-drivers-mtd drivers/mtd/nftlcore.c --- devel/drivers/mtd/nftlcore.c~kfree-cleanup-drivers-mtd 2005-10-14 01:44:35.000000000 -0700 +++ devel-akpm/drivers/mtd/nftlcore.c 2005-10-14 01:44:35.000000000 -0700 @@ -114,10 +114,8 @@ static void nftl_add_mtd(struct mtd_blkt } if (add_mtd_blktrans_dev(&nftl->mbd)) { - if (nftl->ReplUnitTable) - kfree(nftl->ReplUnitTable); - if (nftl->EUNtable) - kfree(nftl->EUNtable); + kfree(nftl->ReplUnitTable); + kfree(nftl->EUNtable); kfree(nftl); return; } @@ -133,10 +131,8 @@ static void nftl_remove_dev(struct mtd_b DEBUG(MTD_DEBUG_LEVEL1, "NFTL: remove_dev (i=%d)\n", dev->devnum); del_mtd_blktrans_dev(dev); - if (nftl->ReplUnitTable) - kfree(nftl->ReplUnitTable); - if (nftl->EUNtable) - kfree(nftl->EUNtable); + kfree(nftl->ReplUnitTable); + kfree(nftl->EUNtable); kfree(nftl); } _