Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed10f165 authored by Boris Brezillon's avatar Boris Brezillon Committed by Brian Norris
Browse files

mtd: nand: nandsim: use the mtd instance embedded in struct nand_chip



struct nand_chip now embeds an mtd device. Make use of this mtd instance.

Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent a008deb1
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -2236,13 +2236,13 @@ static int __init ns_init_module(void)
	}

	/* Allocate and initialize mtd_info, nand_chip and nandsim structures */
	nsmtd = kzalloc(sizeof(struct mtd_info) + sizeof(struct nand_chip)
				+ sizeof(struct nandsim), GFP_KERNEL);
	if (!nsmtd) {
	chip = kzalloc(sizeof(struct nand_chip) + sizeof(struct nandsim),
		       GFP_KERNEL);
	if (!chip) {
		NS_ERR("unable to allocate core structures.\n");
		return -ENOMEM;
	}
	chip        = (struct nand_chip *)(nsmtd + 1);
	nsmtd       = nand_to_mtd(chip);
        nsmtd->priv = (void *)chip;
	nand        = (struct nandsim *)(chip + 1);
	chip->priv  = (void *)nand;
@@ -2392,7 +2392,7 @@ static int __init ns_init_module(void)
	for (i = 0;i < ARRAY_SIZE(nand->partitions); ++i)
		kfree(nand->partitions[i].name);
error:
	kfree(nsmtd);
	kfree(chip);
	free_lists();

	return retval;
@@ -2413,7 +2413,7 @@ static void __exit ns_cleanup_module(void)
	nand_release(nsmtd); /* Unregister driver */
	for (i = 0;i < ARRAY_SIZE(ns->partitions); ++i)
		kfree(ns->partitions[i].name);
	kfree(nsmtd);        /* Free other structures */
	kfree(mtd_to_nand(nsmtd));        /* Free other structures */
	free_lists();
}