From patchwork Mon Jan 7 14:28:05 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: mtd: mxc_nand: Make use of supplied pinctrl data Date: Mon, 07 Jan 2013 04:28:05 -0000 From: Marek Vasut X-Patchwork-Id: 209934 Message-Id: <1357568885-15507-1-git-send-email-marex@denx.de> To: linux-arm-kernel@lists.infradead.org Cc: Marek Vasut , Artem Bityutskiy , Sascha Hauer , linux-mtd@lists.infradead.org, =?UTF-8?q?Lothar=20Wa=C3=9Fmann?= The MXC NAND driver doesn't consider the pinctrl data supplied via DT, which will result in NAND pins not being properly configured. Make the driver use pinctrl, but to prevent breakage on various boards, do not fail if the pinctrl data are not available, only print a warning message. Signed-off-by: Marek Vasut Cc: Artem Bityutskiy Cc: Lothar Waßmann Cc: Sascha Hauer Acked-by: Sascha Hauer --- drivers/mtd/nand/mxc_nand.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c index 45204e4..ed805fb 100644 --- a/drivers/mtd/nand/mxc_nand.c +++ b/drivers/mtd/nand/mxc_nand.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -1385,6 +1386,7 @@ static int mxcnd_probe(struct platform_device *pdev) struct mtd_info *mtd; struct mxc_nand_host *host; struct resource *res; + struct pinctrl *pinctrl; int err = 0; /* Allocate memory for MTD device structure and private data */ @@ -1449,6 +1451,10 @@ static int mxcnd_probe(struct platform_device *pdev) if (!res) return -ENODEV; + pinctrl = devm_pinctrl_get_select_default(&pdev->dev); + if (IS_ERR(pinctrl)) + dev_warn(&pdev->dev, "No PINCTRL data for the NAND driver!\n"); + host->base = devm_request_and_ioremap(&pdev->dev, res); if (!host->base) return -ENOMEM;