From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on archive.lwn.net X-Spam-Level: X-Spam-Status: No, score=-6.0 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham autolearn_force=no version=3.4.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by archive.lwn.net (Postfix) with ESMTP id 7F2957E3B8 for ; Tue, 7 Aug 2018 17:00:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388577AbeHGTPs (ORCPT ); Tue, 7 Aug 2018 15:15:48 -0400 Received: from mail.bootlin.com ([62.4.15.54]:36269 "EHLO mail.bootlin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388481AbeHGTPs (ORCPT ); Tue, 7 Aug 2018 15:15:48 -0400 Received: by mail.bootlin.com (Postfix, from userid 110) id AF4BF209B9; Tue, 7 Aug 2018 19:00:31 +0200 (CEST) Received: from bbrezillon (91-160-177-164.subs.proxad.net [91.160.177.164]) by mail.bootlin.com (Postfix) with ESMTPSA id 3E0C0209AD; Tue, 7 Aug 2018 19:00:21 +0200 (CEST) Date: Tue, 7 Aug 2018 19:00:22 +0200 From: Boris Brezillon To: Janusz Krzysztofik Cc: Linus Walleij , Jonathan Corbet , Miquel Raynal , Richard Weinberger , David Woodhouse , Brian Norris , Marek Vasut , Tony Lindgren , Aaro Koskinen , linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, linux-mtd@lists.infradead.org, linux-doc@vger.kernel.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH v2 04/12] mtd: rawnand: ams-delta: request data port GPIO resource Message-ID: <20180807190022.3d326034@bbrezillon> In-Reply-To: <20180806222918.12644-5-jmkrzyszt@gmail.com> References: <20180718235710.18242-1-jmkrzyszt@gmail.com> <20180806222918.12644-1-jmkrzyszt@gmail.com> <20180806222918.12644-5-jmkrzyszt@gmail.com> X-Mailer: Claws Mail 3.15.0-dirty (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-doc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-doc@vger.kernel.org On Tue, 7 Aug 2018 00:29:10 +0200 Janusz Krzysztofik wrote: > Data port used by the driver is actually an OMAP MPUIO device, already > under control of gpio-omap driver. For that reason we used to not > request the memory region of the port as that would fail because the > region is already busy. Despite that, we are still accessing the port > by just ioremapping it and performing read/write operations. Moreover, > we are doing that without any proteciton from other users legally > manipulating the port pins over GPIO API. > > The plan is to convert the driver to access the port over functions > exposed by the gpio-omap driver. Before that happens, already prevent > from other users accessing the port pins by requesting an array of its > GPIO descriptors. > > Signed-off-by: Janusz Krzysztofik Reviewed-by: Boris Brezillon > --- > drivers/mtd/nand/raw/ams-delta.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/mtd/nand/raw/ams-delta.c b/drivers/mtd/nand/raw/ams-delta.c > index 48233d638d2a..09d6901fc94d 100644 > --- a/drivers/mtd/nand/raw/ams-delta.c > +++ b/drivers/mtd/nand/raw/ams-delta.c > @@ -161,6 +161,7 @@ static int ams_delta_init(struct platform_device *pdev) > struct mtd_info *mtd; > struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > void __iomem *io_base; > + struct gpio_descs *data_gpiods; > int err = 0; > > if (!res) > @@ -261,6 +262,13 @@ static int ams_delta_init(struct platform_device *pdev) > dev_err(&pdev->dev, "CLE GPIO request failed (%d)\n", err); > goto out_mtd; > } > + /* Request array of data pins, initialize them as input */ > + data_gpiods = devm_gpiod_get_array(&pdev->dev, "data", GPIOD_IN); > + if (IS_ERR(data_gpiods)) { > + err = PTR_ERR(data_gpiods); > + dev_err(&pdev->dev, "data GPIO request failed: %d\n", err); > + goto out_mtd; > + } > > /* Scan to find existence of the device */ > err = nand_scan(mtd, 1); -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html