From patchwork Wed Aug 24 22:04:26 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kamal Dasu X-Patchwork-Id: 662592 X-Patchwork-Delegate: cyrille.pitchen@atmel.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3sKM072t6Cz9sRZ for ; Thu, 25 Aug 2016 08:08:55 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=cLOTaXYD; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bcgKS-000517-T1; Wed, 24 Aug 2016 22:07:24 +0000 Received: from mail-pf0-x244.google.com ([2607:f8b0:400e:c00::244]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bcgKD-0004p5-ED for linux-mtd@lists.infradead.org; Wed, 24 Aug 2016 22:07:10 +0000 Received: by mail-pf0-x244.google.com with SMTP id y134so1945164pfg.3 for ; Wed, 24 Aug 2016 15:06:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=e3W+fKlv/okHcowXEq81CZY0345I122SjtOUEYoiOuo=; b=cLOTaXYD0tiW0qqQNjSLVxLFJuJbH9Kdz6WkYcHtrw6exQRUfrH/Xe8pF/zrx0B+Uv kUAi9CcaMf1ADwLRGQNDPuGz7HXPTk6ESJTIotMtFy20SbmOQBMo1AXqcuaKZnTTefOf GCJ5aP6+r5SpDB0yG/JiBifD0Bbrd7XauOYIGnjI0fOHUY7LM7DHhK3H3p96GfQFsS6i Dkb2gets8N5Yo3Yvenlr2h/djNM4KoRd6msOXWP0kVdiaPL5xMee1Jt4vQjj9wAgq6Rq 0syy4DvAJOYahPazQF5oI4qmfIYhp1KANpOwRIODSi9ODFpJmMMkTEiQ7i8zBylaKnvw Q5dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=e3W+fKlv/okHcowXEq81CZY0345I122SjtOUEYoiOuo=; b=ikmNkkNqOUqTof7zYptTdui90ldmwaifqTZ8HrXAjNvmiYtC5jlLLS24fmsPzcuZGT 1cBMtQb6ETjFYlzBdEumtxts5idrh7MzuWJ36pWvc/z4kUAXqKK0lu6fkQ2KuIJ91+Qz R729keb7pClMe9Ql8826VGVlOSJ0oc52IO89lFD+LaxRCRHAk409vLsszqTZxBfE7FMP 2V4Wpfm2DVLf2IPyBYXZroYOGmKu6WBW5istCYrIpVohtzvo/cOxzNIpxqDB4Xq9zhRq 7xeD4HISbLqZz0NJfj0M9nES40PzUYlzyJAFYlC4zQq/Q+vVs6injzrSqmJJuKEvslM2 2Lmw== X-Gm-Message-State: AE9vXwPDA9YT4Bu3yZTb5wDPb6qLANwW28aUxN2nwWSM3fA+plrL1unnZIwtnnw328TVbA== X-Received: by 10.98.22.212 with SMTP id 203mr10067055pfw.74.1472076408707; Wed, 24 Aug 2016 15:06:48 -0700 (PDT) Received: from mail.broadcom.com ([216.31.219.19]) by smtp.gmail.com with ESMTPSA id wa9sm15966968pac.35.2016.08.24.15.06.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 24 Aug 2016 15:06:47 -0700 (PDT) From: Kamal Dasu To: broonie@kernel.org, linux-spi@vger.kernel.org, computersforpeace@gmail.com, linux-mtd@lists.infradead.org, vigneshr@ti.com, f.fainelli@gmail.com, yendapally.reddy@broadcom.com Subject: [PATCH v6, 5/8] mtd: m25p80: Let m25p80_read() fallback to spi transfer Date: Wed, 24 Aug 2016 18:04:26 -0400 Message-Id: <1472076269-4731-6-git-send-email-kdasu.kdev@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1472076269-4731-1-git-send-email-kdasu.kdev@gmail.com> References: <1472076269-4731-1-git-send-email-kdasu.kdev@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160824_150709_620285_45A39C99 X-CRM114-Status: GOOD ( 11.08 ) X-Spam-Score: -2.7 (--) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (-2.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [2607:f8b0:400e:c00:0:0:0:244 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (kdasu.kdev[at]gmail.com) -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kamal Dasu , bcm-kernel-feedback-list@broadcom.com, jon.mason@broadcom.com MIME-Version: 1.0 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org In m25p80_read() even though spi_flash_read() is supported by some drivers, under certain circumstances like unaligned buffer, address or address range limitations on certain SoCs let it fallback to core spi reads. Such drivers are expected to return -EAGAIN so that the m25p80_read() uses standard spi transfer. Signed-off-by: Kamal Dasu --- drivers/mtd/devices/m25p80.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c index 9cf7fcd..77c2d2c 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c @@ -155,9 +155,16 @@ static ssize_t m25p80_read(struct spi_nor *nor, loff_t from, size_t len, msg.data_nbits = m25p80_rx_nbits(nor); ret = spi_flash_read(spi, &msg); - if (ret < 0) + + if (ret >= 0) + return msg.retlen; + + /* + * some spi master drivers might need to fallback to + * normal spi transfer + */ + if (ret != -EAGAIN) return ret; - return msg.retlen; } spi_message_init(&m);