From patchwork Thu Jan 18 14:28:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Estevam X-Patchwork-Id: 862938 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="KcNj5ndn"; 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 3zMmYT5527z9s7v for ; Fri, 19 Jan 2018 01:29:17 +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=YyvNDa+2yVAX9gbncqmyPWAGwn4GzUvIjcVXxzaobCU=; b=KcNj5ndn/8yEY8 woXFfFyqRjlFoqZNgxKPnfMkYE7051BWYz3QreHRD9cluqefjudkw3wHj7Wg4MvckjkpjC/xNArI2 5PpirD+ye2KGzO4lrK8wy1RCMY6W6xDKX6Ro0xs9YYDw2LcUP+zKy60lLaJxsTKVUWowfiZdqCjL2 hTvvWzD9S4Rvz0KQRwKr2NTFS02UaNNk0BRZ8zwuHjWgP1HayzaxzgrfVDZptftCySgHLtPX/6spX Cy1iYGQdKEJEQo1PD2BEW4Egea021qVvIvVVv1N8snjsu/RB0t3S1PsD/ToBv1dOdgya8xjpj54M1 Jab9Oy5UCNWKqYRmKjcQ==; 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 1ecBBp-0006I3-Ge; Thu, 18 Jan 2018 14:29:13 +0000 Received: from mail-sn1nam01on0045.outbound.protection.outlook.com ([104.47.32.45] helo=NAM01-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.89 #1 (Red Hat Linux)) id 1ecBBl-0006HD-72 for linux-mtd@lists.infradead.org; Thu, 18 Jan 2018 14:29:11 +0000 Received: from BN3PR03CA0116.namprd03.prod.outlook.com (10.174.66.34) by MWHPR03MB2704.namprd03.prod.outlook.com (10.168.207.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.428.17; Thu, 18 Jan 2018 14:28:57 +0000 Received: from BN1BFFO11FD039.protection.gbl (2a01:111:f400:7c10::1:193) by BN3PR03CA0116.outlook.office365.com (2603:10b6:400:4::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.428.17 via Frontend Transport; Thu, 18 Jan 2018 14:28:56 +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 BN1BFFO11FD039.mail.protection.outlook.com (10.58.144.102) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Thu, 18 Jan 2018 14:28:54 +0000 Received: from fabio-Latitude-E5450.am.freescale.net (fabio-Latitude-E5450.am.freescale.net [10.29.244.158]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id w0IESpX3030095; Thu, 18 Jan 2018 07:28:52 -0700 From: Fabio Estevam To: Subject: [PATCH v6 1/2] mtd: fsl-quadspi: Distinguish the mtd device names Date: Thu, 18 Jan 2018 12:28:40 -0200 Message-ID: <1516285721-32294-1-git-send-email-fabio.estevam@nxp.com> X-Mailer: git-send-email 2.7.4 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131607593364755592; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39380400002)(39860400002)(396003)(346002)(376002)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(104016004)(106466001)(2351001)(8936002)(81166006)(105606002)(81156014)(50226002)(8676002)(2906002)(68736007)(305945005)(4326008)(356003)(498600001)(36756003)(6916009)(6666003)(5660300001)(47776003)(53936002)(59450400001)(50466002)(48376002)(51416003)(85426001)(8656006)(316002)(54906003)(16586007)(97736004)(26005)(77096007)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR03MB2704; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD039; 1:mFLx72KaFJ2afnwxNOFJzYJ0LOJzXJj15U5w8z1r25Xrb9XghwTSGc0g9I6G91Mf6faIbMyNK4+ZIjt5HEwaELj9/RfWS76iHTn+UITQmem067gobTcghEOST02JrxUM MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d33dce59-7253-49df-1488-08d55e7fceb7 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(5600026)(4604075)(2017052603307); SRVR:MWHPR03MB2704; X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2704; 3:XGJXgHRL4v6KS9y6h1IBnTcCE4bQRnvvIi72S6yzSdOgF/vz2amYnJEaxBvteRFwpbsvNRfybMvZ5cd2BN3dZz7VZi3xsZOe7J//zEBF/zJypJcrhrrSKXDnwWf9BZm/NKXKf4y1yQwYgJx2UjBqaAyMQxG0ugK4hZDRKevGezmxzH8myjfNpzmyVZtu9PI03ybTsylQ6dNgTuNEx6cLbRRRAVkr33cv6TaeQ7wqWwOQq+N4x3prCECc0RhBfKLrhmstL/qxvTm5xMuhhmQUiwuT65A044YqlMG6Lb4LwQ1AUIIAxgxrou2OyWwfFtHXgKIP7uZFwLoJxu1vo6Tf+zoGk+zIKfdP33zgt0SYRZQ=; 25:F0PK+jBuy52AgqFMFbJiLE+5XNdbeYrFDs2u6PmDyXcFL7I8OOoTlosdMUtuZqL22WYGuVNgZ/llcKCOGwO1DuHcfkXDovvAKfh8LQImRNfUTJoS61OzEc5pgGnTN0LEtTVQN/aGj7MNSitdtzXqzpYAFSQdySWIVE5B+uDnuQUH6lPLUER+RaSwk6Ghp6wZ59ekrPif2Gb8+2y9CKw0bvfhswApqyosWI2v/+msG3BI1zEoTgN27JmN5l8OiTbTCYivHMFrvRWwJVzI7quh8ZcCWK3KZGCjhpDImKQLSbC2GiLzqiuY408Dcu4qXynvrnRLPYEQF3aip8NgJRbS7Q== X-MS-TrafficTypeDiagnostic: MWHPR03MB2704: X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2704; 31:p1jbhYFFHpmRYHkcgfRkkGRYfFqvHT5xLgvmiZr2Du9OB7e6fabj/G6jAqQ1S7TapINnBMkWJP+ZTSzysLf9U23ILBJhrgoC6Gw+TLDIzsQ2ZLiaffqEOr6Q2F4NGCCo+eA2sqn+g8MTj8eGV//UIxJrS2kVDwbfwEptVHIgKj15KBPsgvYbsiUeLdf5JKbket2FZ0ynjxE6CIOzKxA3wCzaDTzscf3WOYfOljDDIKE=; 4:HiE9/mvv5RZK4A8licqIG/vnBglyAah0YU/jgPF8OZ1hHfu1dD7VfqKVR59FXSW+KnoO/gU3j9E1Qkxck9SMo14RicFTKkdQjDvmROstbyrAk85HY9AtW9tg3pbUpPl/D3m7/0WC0KGjamRcuhy5OD5yqeHRw8rcXboj1CfyDsgdgDMA19ZoWLvcOuo33NaAO/njbNmk5TAodMwWqVuqdrLPE3JpROY1OEJBct3AY3n79K/+RHFLbrk/ChSjZ9PjJV0oK+RgE1IcXRLL3XVuul8rg40YSEcNKB5RuRu9kO7L8HyyOTf8YX+wWQKJdCh/i2oUHiva1sMh/a+rTtlmpAC6A4l3K9LXb7jw9GMM5j4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(58145275503218); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(5005006)(8121501046)(10201501046)(3231023)(2400062)(944501161)(3002001)(93006095)(93001095)(6055026)(6096035)(201703131430075)(201703131448075)(201703131433075)(201703151042153)(20161123565025)(20161123559100)(20161123561025)(20161123563025)(20161123556025)(201708071742011); SRVR:MWHPR03MB2704; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:MWHPR03MB2704; X-Forefront-PRVS: 05568D1FF7 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB2704; 23:uXJtPB6B7WUe4w5BiVu/5/h6S8pO1pjCTse31LuMK?= tfZfFmHxMzoOoLUF3jyX/SH9wn0Rj+LeeuBr+2wdkWY92Mqx42iqvxI/J1vbwL67J0nOLWhEWjaLrucXqvsdS1t43C8+yqc9m1H7uIk0P60953v0AFmmMGdrcrGGcGISJNmEe2KrFoochYr/e+4aqR1NAuxNPqyY0q32U6bPgvWX+f/SClyrKaT62uNPKSWuHoOxdhbl5JufnZw6/6VorEaON/s1kVGchOYJ8W2AA+B4E9JBEj8jtw4kB3GOdIcMhnSTQX/hJyDyD7KINnZGw+yx5Ze3w7sZkP3VZCj0bvEuHNBVgBH6i0N8xY0SUwHiOt1KKYc9F7vLp0QXkFgqM4q7uJDCJlLngPRXTB7gXlZ6IrmdNCE0dSQ7q1lniORleArdu0iDed2yrFVDEav3OWOTqWk/vGDv8mt+E5nVRo98+RuC1b9hEwOQEccl+k8tLciKL5zTULaaEAZUcrQpDWvFXELNauJ3591N51CIoXBGp4cZ0vDCLIXn6N9NF8yvDsycEa8yTZejeq3Sc4zVHO6WG1nTxrvnRhoZLuQ4nYB7GDPuFRwk3ZQj5LoCtzBCN0PkeFsFPFLAkyuDcuJ/XyTbxMkQ+13vXWCdsrY6W/ZWv0HuM4IkD6Rm5vt/MOx2APPFS0Ab/0evIhR9W90KoYdy2MKgZS650T44WA29Zbqsk2ejexSJHxLlMguOQAxkcKJ6pvEc4ta5iWRs/viL5/VIeVMh7fjivjvgSSWV7p2piTvq3Molu+ILI/9aYDQUKi0ZczkZCdYOGt8eersDx9k4m1FDx7kJjYDQe+36tXbWbp8IpY+vJb/0+nxRH1aLaLfmuP8XhlZ7rLobeMzAj/swC5eghsQ3Doc4ezaezialHjNGX9oXlsnG3H6Swz78+ky3q5sW4gwn1Zg0f7XZuoVFd1oXycooXUMPIo/zWjfu4WTe6iZValDL5v7Vhk8VHyJdmh2TMgAnwVh1EL252F7JgdXctPDLrnVGFNBgp/bVc/wVXJjvB3brG2rPP9ng3s= X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2704; 6:XEar8+3sBvUiJHf96N/UMpcRlasKrH3bSE+/qsvdHhaXC9O4vSZku+NTc8lf/hwCudK9Hdw/DVblXO3eRn5wTVEaYZsaZcKcKrz+GQy+pVOdbw2M0U2s8+fBAmZenRz4sZ68ZlRV+lY6tYxzNkMyFpMdm1tco+xsyqOKBJOmSP2tHPU//rm6nGvpOpZs6c5XTHXnEbM699JtG85/64wov8Owe9YL9EQcfKt6+TgthEXtZqePhXyq8GVh06PIPpE8hh90Sk05Wx5y2OuCnGB2nPKITz9KNIatfxshvOho0u6jSNIjq9zTbJ3l+0Q04FwPx3CoMqFaToJDzMJKTCABXttbpB3CoOujtMtmatQ4TZo=; 5:rCHpN9l89ZIQRi/JSpptCrhw0NFCwuiC3eWPZ1WAMBOrWe2v1TYGHLLjZiazmAizDwR9rh/lIGuedO8sW+AnW8shiDegn5KirU3Iccoyhe91pIMegfbLcq04CPPaz+eu/uMn/vPM6sd3agez1c3Fz11C8n14Vwrf9HCbdDu2seo=; 24:FIEmV9tIRNjf636GvBY0SWv682VKRMEb2LTBOo1pnD7SmhP7MQKuuTmM+LZytT8XocKd0XxAVcfbBNWOSSHMVuL4kIKygKdmfGnk3UpuQE4=; 7:d2dhSYXhc6tZuqL8LIor8J+6R1zYUqbhCir3v+CeYzgB0DK9gsdp8UclE53qJk4ZS7FbTh+fEeIEF8h//i79on0AQPJhyIheLMIm+bjm53FMlmqcxMJl/ludlqGRkg67l0YTp3bMA1uYvhKez6ci34qa9sqSbEF2H2VpOFuA66EPBV11RUm0YbQ1w9ekRnAy2K8C9jABuACWIFzItkIke+YjvkjCfWXlvCD8dsgn03mMRdPF9kjjAYbxZHXS+fCv SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2018 14:28:54.5567 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d33dce59-7253-49df-1488-08d55e7fceb7 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: MWHPR03MB2704 X-Spam-Note: CRM114 invocation failed 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.32.45 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [104.47.32.45 listed in wl.mailspike.net] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender 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: Fabio Estevam , han.xu@nxp.com, linux-mtd@lists.infradead.org, david.wolfe@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" In order to keep mtdparts compatibility keep the mtd->name unchanged when a single SPI NOR is present. Reported-by: David Wolfe Signed-off-by: Fabio Estevam Reviewed-by: Boris Brezillon --- Changes since v5: - Preserve the label value, if any. (Boris) drivers/mtd/spi-nor/fsl-quadspi.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c index 2901c7b..1038842 100644 --- a/drivers/mtd/spi-nor/fsl-quadspi.c +++ b/drivers/mtd/spi-nor/fsl-quadspi.c @@ -1051,6 +1051,24 @@ static int fsl_qspi_probe(struct platform_device *pdev) spi_nor_set_flash_node(nor, np); nor->priv = q; + if (q->nor_num > 1 && !mtd->name) { + int spiflash_idx; + + 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); + if (!mtd->name) { + ret = -ENOMEM; + goto mutex_failed; + } + } else { + dev_warn(dev, "reg property is missing\n"); + } + } + /* fill the hooks */ nor->read_reg = fsl_qspi_read_reg; nor->write_reg = fsl_qspi_write_reg;