Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind...
[pandora-kernel.git] / drivers / mtd / nand / s3c2410.c
index fa6e9c7..239aadf 100644 (file)
@@ -929,14 +929,13 @@ static int s3c24xx_nand_probe(struct platform_device *pdev)
 
        pr_debug("s3c2410_nand_probe(%p)\n", pdev);
 
-       info = kmalloc(sizeof(*info), GFP_KERNEL);
+       info = kzalloc(sizeof(*info), GFP_KERNEL);
        if (info == NULL) {
                dev_err(&pdev->dev, "no memory for flash info\n");
                err = -ENOMEM;
                goto exit_error;
        }
 
-       memset(info, 0, sizeof(*info));
        platform_set_drvdata(pdev, info);
 
        spin_lock_init(&info->controller.lock);
@@ -957,7 +956,7 @@ static int s3c24xx_nand_probe(struct platform_device *pdev)
 
        /* currently we assume we have the one resource */
        res  = pdev->resource;
-       size = res->end - res->start + 1;
+       size = resource_size(res);
 
        info->area = request_mem_region(res->start, size, pdev->name);
 
@@ -994,15 +993,13 @@ static int s3c24xx_nand_probe(struct platform_device *pdev)
        /* allocate our information */
 
        size = nr_sets * sizeof(*info->mtds);
-       info->mtds = kmalloc(size, GFP_KERNEL);
+       info->mtds = kzalloc(size, GFP_KERNEL);
        if (info->mtds == NULL) {
                dev_err(&pdev->dev, "failed to allocate mtd storage\n");
                err = -ENOMEM;
                goto exit_error;
        }
 
-       memset(info->mtds, 0, size);
-
        /* initialise all possible chips */
 
        nmtd = info->mtds;
@@ -1013,7 +1010,8 @@ static int s3c24xx_nand_probe(struct platform_device *pdev)
                s3c2410_nand_init_chip(info, nmtd, sets);
 
                nmtd->scan_res = nand_scan_ident(&nmtd->mtd,
-                                                (sets) ? sets->nr_chips : 1);
+                                                (sets) ? sets->nr_chips : 1,
+                                                NULL);
 
                if (nmtd->scan_res == 0) {
                        s3c2410_nand_update_chip(info, nmtd);