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

Commit d45bc58d authored by Marc Gonzalez's avatar Marc Gonzalez Committed by Boris Brezillon
Browse files

mtd: nand: import nand_hw_control_init()



The code to initialize a struct nand_hw_control is duplicated across
several drivers. Factorize it using an inline function.

Signed-off-by: default avatarMarc Gonzalez <marc_gonzalez@sigmadesigns.com>
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
parent 29b4817d
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -761,8 +761,7 @@ static int bf5xx_nand_probe(struct platform_device *pdev)

	platform_set_drvdata(pdev, info);

	spin_lock_init(&info->controller.lock);
	init_waitqueue_head(&info->controller.wq);
	nand_hw_control_init(&info->controller);

	info->device     = &pdev->dev;
	info->platform   = plat;
+1 −2
Original line number Diff line number Diff line
@@ -2370,8 +2370,7 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc)

	init_completion(&ctrl->done);
	init_completion(&ctrl->dma_done);
	spin_lock_init(&ctrl->controller.lock);
	init_waitqueue_head(&ctrl->controller.wq);
	nand_hw_control_init(&ctrl->controller);
	INIT_LIST_HEAD(&ctrl->host_list);

	/* NAND register range */
+1 −2
Original line number Diff line number Diff line
@@ -1249,8 +1249,7 @@ static void __init init_mtd_structs(struct mtd_info *mtd)
	nand->options = NAND_BUSWIDTH_16 | NAND_NO_SUBPAGE_WRITE;
	nand->IO_ADDR_R = nand->IO_ADDR_W = doc->virtadr + DOC_IOSPACE_DATA;
	nand->controller = &nand->hwcontrol;
	spin_lock_init(&nand->controller->lock);
	init_waitqueue_head(&nand->controller->wq);
	nand_hw_control_init(nand->controller);

	/* methods */
	nand->cmdfunc = docg4_command;
+1 −2
Original line number Diff line number Diff line
@@ -879,8 +879,7 @@ static int fsl_elbc_nand_probe(struct platform_device *pdev)
		}
		elbc_fcm_ctrl->counter++;

		spin_lock_init(&elbc_fcm_ctrl->controller.lock);
		init_waitqueue_head(&elbc_fcm_ctrl->controller.wq);
		nand_hw_control_init(&elbc_fcm_ctrl->controller);
		fsl_lbc_ctrl_dev->nand = elbc_fcm_ctrl;
	} else {
		elbc_fcm_ctrl = fsl_lbc_ctrl_dev->nand;
+1 −2
Original line number Diff line number Diff line
@@ -987,8 +987,7 @@ static int fsl_ifc_nand_probe(struct platform_device *dev)
		ifc_nand_ctrl->addr = NULL;
		fsl_ifc_ctrl_dev->nand = ifc_nand_ctrl;

		spin_lock_init(&ifc_nand_ctrl->controller.lock);
		init_waitqueue_head(&ifc_nand_ctrl->controller.wq);
		nand_hw_control_init(&ifc_nand_ctrl->controller);
	} else {
		ifc_nand_ctrl = fsl_ifc_ctrl_dev->nand;
	}
Loading