From patchwork Thu Jan 11 15:44:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Estevam X-Patchwork-Id: 859190 X-Patchwork-Delegate: boris.brezillon@free-electrons.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="K9NhsUy/"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zHVZC5fdVz9sNc for ; Fri, 12 Jan 2018 02:45:07 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=7rC9M6Z/qWsTAViXlNsmKkJj9FflM94uK36YxESOPf4=; b=K9NhsUy/UXONic 1ngZoB0Y6fLZNzlzjtttE6oQbggiH88va9h3tio+OfEpnVbcRGYNneCeCdzyebCqLqLfOF6EamHam fvPcFHr7A+wz9u8rNXTQVVGXlVwyJBBHIaZDhAaoWYXelJ87X3g9L7dntO+9kyKg7CaDvdEYlPXJk 5orspFfHQxt3s1OXYTwZEqrXHCn+2Jg73KnHVZ3ouZuxSbePmn/H5iiRPNR9r/qftsdYa//nnl7HI 3pJt2IYj1VEsdwS8G925Bcb6fQOk/gErCKicNrJxsY0rthrg76NG7EiukGi4VIgckGRxziqJAgbGm DBlJZq9/ptQbqi8RnQWQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.89 #1 (Red Hat Linux)) id 1eZf2N-0000QP-5H; Thu, 11 Jan 2018 15:45:03 +0000 Received: from mail-cys01nam02on0040.outbound.protection.outlook.com ([104.47.37.40] helo=NAM02-CY1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.89 #1 (Red Hat Linux)) id 1eZf2J-0000Bt-KD for linux-mtd@lists.infradead.org; Thu, 11 Jan 2018 15:45:01 +0000 Received: from BN6PR03CA0022.namprd03.prod.outlook.com (10.168.230.160) by CY1PR03MB2361.namprd03.prod.outlook.com (10.166.207.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Thu, 11 Jan 2018 15:44:47 +0000 Received: from BY2FFO11FD021.protection.gbl (2a01:111:f400:7c0c::122) by BN6PR03CA0022.outlook.office365.com (2603:10b6:404:23::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.407.7 via Frontend Transport; Thu, 11 Jan 2018 15:44:47 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BY2FFO11FD021.mail.protection.outlook.com (10.1.15.210) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Thu, 11 Jan 2018 15:44:11 +0000 Received: from fabio-Latitude-E5450.am.freescale.net (fabio-Latitude-E5450.am.freescale.net [10.29.244.155]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id w0BFiePZ006376; Thu, 11 Jan 2018 08:44:40 -0700 From: Fabio Estevam To: Subject: [PATCH v4] mtd: fsl-quadspi: Distinguish the mtd device names Date: Thu, 11 Jan 2018 13:44:38 -0200 Message-ID: <1515685478-31457-1-git-send-email-fabio.estevam@nxp.com> X-Mailer: git-send-email 2.7.4 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131601590542305132; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(376002)(346002)(39380400002)(39860400002)(396003)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(36756003)(105606002)(4326008)(81156014)(8676002)(97736004)(51416003)(6916009)(498600001)(59450400001)(77096006)(53936002)(106466001)(305945005)(2351001)(81166006)(356003)(8656006)(54906003)(48376002)(47776003)(316002)(85426001)(50466002)(68736007)(8936002)(104016004)(2906002)(50226002)(5660300001)(16586007)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR03MB2361; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD021; 1:adQIVmX2igvbwBSOeXyqRTeBbBLWGibaRgxhZY3Qwa0QRms8VT+NJySFnxlb2nQ//uopHWbHXeZiMjErLKC/xsXaMGYQyeIyHlAxj5mY52QkgAI4D1Wr8XOdvRPRKSl6 MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3ff93756-466a-4223-876c-08d5590a2a9d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020068)(5600026)(4604075)(2017052603307); SRVR:CY1PR03MB2361; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2361; 3:bYxaU7Do/7ya1vV3c0Gc1aM8eK8Vb7+OkBrmuFToG1UDdsRUO5kcl8bEI4DxtDkojwUol4Tlp1hhCt/ymLjwuSHTZDnS8TrstTrr5vSP+JiXoInJo44vTEMKAHKfA+T6juhoLj+GBsKVz2+HWeXKqZ0I2gb5f+zTCqbxHcVzmhY/I8Yg25gtPnfrYJr7uocU+AxJk9aeGIXjqNTu6kqVKuFOcj73l1HB9fk231DRQ0BkY4+iw9VKDSezrvKx+7cIztEDkUC88KNAELdhTFg3bpZNQRCD0sfVeFtEscf6qTW5AU3k3DnzlpQt+4qqMdJ9teeNEInfnxdg96MsVuZMKv2EicT9DqHIVaNtpEKrAnI=; 25:VPOnnzQbR1LfKrl0OR4By62ooJ9oYd6PGOr7U+nS1ebpJeigBYJfbzscn2cAZNXYoocnVtUhO8U1NSHUfAE2fGtLKbNnGu3KRm+MboMhbzgseg0kZBCdAYPEEBMkRL1pcxiRvBsv1dv40mUdxeNtvv1grs8kEnUzq3SN4dWUddxq0ipaQOZf+FewoTplaEY/QfrIXykIND3tA2Qu/dh02OhOKNJyjdpZKUId450LIpXXcd87HHFI+TuU693a9SyhBBVg0fRF4iXtGTGBg3x17sMKaWwibrZoMSIA1LESb7yMj3v7kqGCnfZl/NWynO7ngaUKQh0ya1aBOAR+wwsoJg== X-MS-TrafficTypeDiagnostic: CY1PR03MB2361: X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2361; 31:NHQ7LwDQo3BofhagzuR+0DefVZAQ4iivoosoNQQ1+jVgxKntkV08ER+i1KtBilA45oTtNzXGNOt0r0B974fEuGH/5YYc5iJRgh95tsdMOSoYMdzpynLNkXRefNUn83iwJ++Zgqeyifp7QOiDZg3xEaMd5L8XVEtCQiB+LTrosTTYD5Z8N3ZGJLkxZFE9l+g4A8HphyfE7NdthwfDB4D+m/5KWlwqWlk9KBxczpGtO4c=; 4:9YJe88dPf4L5/0JtmX7L+hj616O68jdkLNGLydOht2sWiwWL59jTyt1RNGsGy7HsFGMvRs3/mfpadE1dqyFmuuHaR71gLAuMCdSi6EP7BVwhjkzkNOvtp7/ThlLpVnpE8dFrGzky9Av0I23E3J7Pxeg9mNoJOEI2mp1GHITO0asq3Y09QA5TxFT+xPXXks3T7+OZzXxOP884plSsXCUKbkKidPN7ZNmk8+XneV4OYEiK+nbI5YAy8E743nCmLZtzuHbMp3yHBLOj2cKVwBxWyKTqWS5Xx+NulEoXaEeZ9fd0J52mv/NeI1mhpAYO0Ql8 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231023)(944501134)(10201501046)(3002001)(6055026)(6096035)(20161123563025)(20161123561025)(20161123556025)(201703131430075)(201703131433075)(201703131448075)(201703151042153)(20161123559100)(20161123565025)(201708071742011); SRVR:CY1PR03MB2361; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:CY1PR03MB2361; X-Forefront-PRVS: 0549E6FD50 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR03MB2361; 23:Xzv9B9JV6AQ6f8pl5TLG4eXjjzFpEZZQmFYPZOY4E?= snkhr8gi2DPPcXUHtuJlMCid2UX5q1n2bSg3cr67AIfoNb88F3I4i2Yk6SQhc97c15caYMQ65wtavIyAyM5FPPequr5L2wSkJM4351J7ByxVXf5+OuliswVsL+klM90PZzddLlBvEFlUbCPV+VjkS/H/ogi+LUGpkN1z1XP8JtoKoSpB5sDngue1JZavys019CRHakx53A1edMbcd/bSVYXHkntrM+Zu2eiQw65Q6uKT/x6gkVveeDbl3BWqQZ8Hv1Dopm6gYNk3egbylmade54M90CkiQuKdg4G1wsjepGkbSui9PDg54XhyoInB6HaiABHeDiGO2F4ORGBATxSY+TPbF/dRUv+CClr+yFFyO2oHm9U8pTC0PajXsK7mPj/gwYP+9Y71dNHsfa9ucO8APczWAHof0IZ0VyOf6EFVamikucjsSqsWmnqivMhKa0AdLghnf9nhCritx3j7hHEGhuZQEYfLhD+zLOzLHXf2jFFPlgQwzqG+5YOtYE3ysTzvi5CdUU6UqPeGmMwgrxFcZpSthiFCnBBjUkpITzW/r3XFyT+/W0ckSg/NrysSc5ymo9oQJAglZTeMZWIJArz+vM54qfIqLDENgSnLDCzwEYZgbFCELfcdoshxMKCO8WPTSKMUiI48oyMzzXCwIxAsTf3pxP7QfkUl5DDs4Z2fCqyz4fYXU5LuSfqKzJHKFFfiFVSAY5dqDG5Dt4rhN+yBKld+EZa43MURJBRmNmZKLydt+AvD/rmn6MY251dORkniWOKl+HXfK/wkYp/tSeZa3AUDQrKf2b6a00cnweAByKd0tbUEUIysDbJWdonQtK7Rz7ueoexh50DiK7rkdfchm249vSuUo7eMBYqJ6frVMjajY0ovK3bm1RfEul7jGk3qbqRN45t/MvY4QgB0d17K1BcqIhz+4Z3uifox1gkxrBX6qrGTFjlAPNCODOP+3fIgkNuufXpqK8s2V/tcc+o2WZXJhGAnPuEz35e3TYaK8usg== X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2361; 6:FP48tuNYdzET1GLKjdmQ4zpcEEpKVUiBopsyWY2mTg6MHj4jcNbYA6sTaGD/m6JdKGn39XnRx9neyO/1emhYrDZ2Eqd3BuL4OL/iwB77s+twc4FDpkPW5AVShNiujw+qeKgw/SLkyjSCmNZuXCBiH/bSUkxgbZNrYf8kBSWkC1o66JwfG88EjyqTnajOHshm6+EQZtrPHj4lll9O2WQ2/IvfxdCd3x+hH1HNKV0YnnBtQkTph3C2jGavbGBoPW2KfrbtGR+/4FX9z8rXXpxU5UwRydeMB3tIxHJh6bv8wfDbuPAAC4zE23kANimZ79q09UogXx+SIfBULO4xPvHmXHDxulxK2qxtJsmZE+MvVrs=; 5:IaoyaWHXVBUR24B4DlZXZx4JoLq9dTdgY+QzC6Fkp/DKrEtNBF0LTHf5hp7mZprMiReT10STnZq+7A7iNxTSRw8Q5YpbaY2snE1MLCbuXUYlph7f70139LQepHldiN57cO9aAf7R3s8P4LSG6dPhNK5kcROOtJT8/6TUu5xaghc=; 24:NQMKgr16enwtIgvhRnB8Pm6LwkS8LSd/RFOFuJP2hp/P5kZwXV16pPZQFpNHUjYBl4fc7P1MP5d1+k2f5eQp2a0xd91TxQrPlZ2i/0/yi+s=; 7:OD51Pjr9qM6fnHdalXP5IYRIix3teoRML5AhMwuBQfmfM2o3B+J61HnQ16fWoFC49K8r9by2yibVRk4h3sOU0G//SQQxidCHaS7XrSTDBCp7xoQeakbeJ1s4PH1ZjET0VVx/PcE4c8Ew3EOpdv7aJjTPPQBTgT1O/n6PjFWGq3lh9W9aiFVYwD+kn4pJuKdJ0XICc4oBQbB1AOkFTumE8aE/x5MD0ZcslwnLM8fgAJl72+7EIDM2yUHe1tQZXRG9 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2018 15:44:11.5785 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3ff93756-466a-4223-876c-08d5590a2a9d X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB2361 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180111_074459_715737_A78B0EF6 X-CRM114-Status: GOOD ( 15.31 ) X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-1.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.37.40 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [104.47.37.40 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: boris.brezillon@free-electrons.com, frank.li@nxp.com, linux-mtd@lists.infradead.org, david.wolfe@nxp.com, Fabio Estevam , han.xu@nxp.com Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Currently on a imx6sx-sdb board, which has two SPI NOR chips connected to QSPI2 the following output from /proc/mtd is seen: # cat /proc/mtd dev: size erasesize name mtd0: 01000000 00010000 "21e4000.qspi" mtd1: 01000000 00010000 "21e4000.qspi" Attempts to partition them on the kernel command line result in both chips with identical (and identically named) partitions, which is an inconvenient behavior. Assign a different mtd->name for each mtd device to avoid this problem. After this change the output from /proc/mtd becomes: # cat /proc/mtd dev: size erasesize name mtd0: 01000000 00010000 "21e4000.qspi-0" mtd1: 01000000 00010000 "21e4000.qspi-1" Reported-by: David Wolfe Signed-off-by: Fabio Estevam --- Changes since v1: - Do not fail probe when reg is not present drivers/mtd/spi-nor/fsl-quadspi.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c index 2901c7b..8020295 100644 --- a/drivers/mtd/spi-nor/fsl-quadspi.c +++ b/drivers/mtd/spi-nor/fsl-quadspi.c @@ -967,7 +967,7 @@ static int fsl_qspi_probe(struct platform_device *pdev) struct resource *res; struct spi_nor *nor; struct mtd_info *mtd; - int ret, i = 0; + int ret, i = 0, spiflash_idx; q = devm_kzalloc(dev, sizeof(*q), GFP_KERNEL); if (!q) @@ -1051,6 +1051,24 @@ static int fsl_qspi_probe(struct platform_device *pdev) spi_nor_set_flash_node(nor, np); nor->priv = q; + if (!mtd->name) { + ret = of_property_read_u32(np, "reg", &spiflash_idx); + if (!ret) { + mtd->name = devm_kasprintf(dev, GFP_KERNEL, + "%s-%d", + dev_name(dev), + spiflash_idx); + } else { + mtd->name = dev_name(dev); + dev_warn(dev, "reg property is missing\n"); + } + + if (!mtd->name) { + ret = -ENOMEM; + goto mutex_failed; + } + } + /* fill the hooks */ nor->read_reg = fsl_qspi_read_reg; nor->write_reg = fsl_qspi_write_reg;