| From | Mariusz Kozlowski <> | Subject | [PATCH 65] drivers/mtd/maps/pmcmsp-flash.c: kmalloc + memset conversion to k[cz]alloc | Date | Tue, 31 Jul 2007 23:49:06 +0200 |
| |
Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
drivers/mtd/maps/pmcmsp-flash.c | 5540 -> 5454 (-86 bytes)
drivers/mtd/maps/pmcmsp-flash.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-)
--- linux-2.6.23-rc1-mm1-a/drivers/mtd/maps/pmcmsp-flash.c 2007-07-26 13:07:41.000000000 +0200 +++ linux-2.6.23-rc1-mm1-b/drivers/mtd/maps/pmcmsp-flash.c 2007-07-31 11:37:49.000000000 +0200 @@ -73,13 +73,16 @@ int __init init_msp_flash(void) return -ENXIO;
printk(KERN_NOTICE "Found %d PMC flash devices\n", fcnt); - msp_flash = (struct mtd_info **)kmalloc( - fcnt * sizeof(struct map_info *), GFP_KERNEL); - msp_parts = (struct mtd_partition **)kmalloc( - fcnt * sizeof(struct mtd_partition *), GFP_KERNEL); - msp_maps = (struct map_info *)kmalloc( - fcnt * sizeof(struct mtd_info), GFP_KERNEL); - memset(msp_maps, 0, fcnt * sizeof(struct mtd_info)); + + msp_flash = kmalloc(fcnt * sizeof(struct map_info *), GFP_KERNEL); + msp_parts = kmalloc(fcnt * sizeof(struct mtd_partition *), GFP_KERNEL); + msp_maps = kcalloc(fcnt, sizeof(struct mtd_info), GFP_KERNEL); + if (!msp_flash || !msp_parts || !msp_maps) { + kfree(msp_maps); + kfree(msp_parts); + kfree(msp_flash); + return -ENOMEM; + }
/* loop over the flash devices, initializing each */ for (i = 0; i < fcnt; i++) { @@ -95,9 +98,8 @@ int __init init_msp_flash(void) continue; }
- msp_parts[i] = (struct mtd_partition *)kmalloc( - pcnt * sizeof(struct mtd_partition), GFP_KERNEL); - memset(msp_parts[i], 0, pcnt * sizeof(struct mtd_partition)); + msp_parts[i] = kcalloc(pcnt, sizeof(struct mtd_partition), + GFP_KERNEL);
/* now initialize the devices proper */ flash_name[5] = '0' + i; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|