{"id":949198,"url":"http://patchwork.ozlabs.org/api/1.2/patches/949198/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-mtd/patch/20180725133152.30898-8-miquel.raynal@bootlin.com/","project":{"id":3,"url":"http://patchwork.ozlabs.org/api/1.2/projects/3/?format=json","name":"Linux MTD development","link_name":"linux-mtd","list_id":"linux-mtd.lists.infradead.org","list_email":"linux-mtd@lists.infradead.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20180725133152.30898-8-miquel.raynal@bootlin.com>","list_archive_url":null,"date":"2018-07-25T13:31:42","name":"[v5,07/17] mtd: rawnand: do not execute nand_scan_ident() if maxchips is zero","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"a255ca5fce677bbfb1090f85e9b54e7ac82ca725","submitter":{"id":73368,"url":"http://patchwork.ozlabs.org/api/1.2/people/73368/?format=json","name":"Miquel Raynal","email":"miquel.raynal@bootlin.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-mtd/patch/20180725133152.30898-8-miquel.raynal@bootlin.com/mbox/","series":[{"id":57526,"url":"http://patchwork.ozlabs.org/api/1.2/series/57526/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-mtd/list/?series=57526","date":"2018-07-25T13:31:36","name":"Allow dynamic allocations during NAND chip identification phase","version":5,"mbox":"http://patchwork.ozlabs.org/series/57526/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/949198/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/949198/checks/","tags":{},"related":[],"headers":{"Return-Path":"<linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org; spf=none (mailfrom)\n\tsmtp.mailfrom=lists.infradead.org\n\t(client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=bootlin.com","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"p9vD7YsC\"; \n\tdkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[IPv6:2607:7c80:54:e::133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 41bGc65gFHz9s4r\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 25 Jul 2018 23:41:58 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux))\n\tid 1fiK2y-0007oS-VY; Wed, 25 Jul 2018 13:41:44 +0000","from mail.bootlin.com ([62.4.15.54])\n\tby bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux))\n\tid 1fiJu4-0000Kl-Th\n\tfor linux-mtd@lists.infradead.org; Wed, 25 Jul 2018 13:32:41 +0000","by mail.bootlin.com (Postfix, from userid 110)\n\tid 392E620876; Wed, 25 Jul 2018 15:32:17 +0200 (CEST)","from localhost.localdomain\n\t(AAubervilliers-681-1-78-122.w90-88.abo.wanadoo.fr [90.88.20.122])\n\tby mail.bootlin.com (Postfix) with ESMTPSA id 5F47A20884;\n\tWed, 25 Jul 2018 15:31:58 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:\n\tList-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:\n\tIn-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:\n\tContent-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc\n\t:Resent-Message-ID:List-Owner;\n\tbh=sCWIwygYMQWCDcfAqiHYUSuwYt/0spNRWN+JxDqgceM=;\n\tb=p9vD7YsC5u5FYB6zEx+rrRqXFN\n\tmf1Q1zPwDo/q/CXtdUeBme/p2QzEnKmK568QCOt7YeaTH9IA0v4+MYwEzJgRpUOxprRo1PTT1Quic\n\tQi9iL3R1O0fUZjSqLCjKnyiS28kSLj5f1TPLlRJYR4jFPmzKVoNgAuwd6R/2AQy8S3CYBzlXGgrhM\n\tdmoCzZG/hAT8N7t6jGJi9/XNeXxOj3eR8OjNzP02AkCgTiPbkK+PJuopbQ1hxWX9qhVEI6CQp+Spd\n\tuAd+lDlacOqDEf5EkPR/IQ6hDjIoNnyvV9UUf5gwyxLD9XF1PZRHfqA3hf+I/WTwjeSNBku3QYQGL\n\tOXYIygBQ==;","X-Spam-Checker-Version":"SpamAssassin 3.4.0 (2014-02-07) on mail.bootlin.com","X-Spam-Level":"","X-Spam-Status":"No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT,\n\tURIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.0","From":"Miquel Raynal <miquel.raynal@bootlin.com>","To":"Boris Brezillon <boris.brezillon@bootlin.com>,\n\tRichard Weinberger <richard@nod.at>,\n\tDavid Woodhouse <dwmw2@infradead.org>, \n\tBrian Norris <computersforpeace@gmail.com>,\n\tMarek Vasut <marek.vasut@gmail.com>","Subject":"[PATCH v5 07/17] mtd: rawnand: do not execute nand_scan_ident() if\n\tmaxchips is zero","Date":"Wed, 25 Jul 2018 15:31:42 +0200","Message-Id":"<20180725133152.30898-8-miquel.raynal@bootlin.com>","X-Mailer":"git-send-email 2.14.1","In-Reply-To":"<20180725133152.30898-1-miquel.raynal@bootlin.com>","References":"<20180725133152.30898-1-miquel.raynal@bootlin.com>","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20180725_063233_500129_7A885376 ","X-CRM114-Status":"GOOD (  15.93  )","X-Spam-Score":"-0.0 (/)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-0.0 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/,\n\tno trust [62.4.15.54 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record","X-BeenThere":"linux-mtd@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"Linux MTD discussion mailing list <linux-mtd.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-mtd/>","List-Post":"<mailto:linux-mtd@lists.infradead.org>","List-Help":"<mailto:linux-mtd-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=subscribe>","Cc":"Lucas Stach <dev@lynxeye.de>, Wenyou Yang <wenyou.yang@microchip.com>,\n\tJosh Wu <rainyfeeling@outlook.com>, Stefan Agner <stefan@agner.ch>,\n\tlinux-mtd@lists.infradead.org, Miquel Raynal <miquel.raynal@bootlin.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-mtd\" <linux-mtd-bounces@lists.infradead.org>","Errors-To":"linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"},"content":"Some driver (eg. docg4) will need to handle themselves the\nidentification phase. As part of the migration to use nand_scan()\neverywhere (which will unconditionnaly call nand_scan_ident()), we add\na condition at the start of nand_scan_with_ids() to jump over\nnand_scan_ident() if the maxchips parameters is zero, meaning that the\ndriver does not want the core to handle this phase.\n\nSigned-off-by: Miquel Raynal <miquel.raynal@bootlin.com>\n---\n drivers/mtd/nand/raw/nand_base.c | 12 ++++++++----\n 1 file changed, 8 insertions(+), 4 deletions(-)","diff":"diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c\nindex dea41fa25be1..42a7a934a17b 100644\n--- a/drivers/mtd/nand/raw/nand_base.c\n+++ b/drivers/mtd/nand/raw/nand_base.c\n@@ -6735,7 +6735,9 @@ static void nand_detach(struct nand_chip *chip)\n /**\n  * nand_scan_with_ids - [NAND Interface] Scan for the NAND device\n  * @mtd: MTD device structure\n- * @maxchips: number of chips to scan for\n+ * @maxchips: number of chips to scan for. @nand_scan_ident() will not be run if\n+ *\t      this parameter is zero (useful for specific drivers that must\n+ *\t      handle this part of the process themselves, e.g docg4).\n  * @ids: optional flash IDs table\n  *\n  * This fills out all the uninitialized function pointers with the defaults.\n@@ -6748,9 +6750,11 @@ int nand_scan_with_ids(struct mtd_info *mtd, int maxchips,\n \tstruct nand_chip *chip = mtd_to_nand(mtd);\n \tint ret;\n \n-\tret = nand_scan_ident(mtd, maxchips, ids);\n-\tif (ret)\n-\t\treturn ret;\n+\tif (maxchips) {\n+\t\tret = nand_scan_ident(mtd, maxchips, ids);\n+\t\tif (ret)\n+\t\t\treturn ret;\n+\t}\n \n \tret = nand_attach(chip);\n \tif (ret)\n","prefixes":["v5","07/17"]}