diff mbox

[U-Boot,1/2] onenand_spl_simple: Call onenand_spl_get_geometry() only once

Message ID 20170620094322.r4sqr724dtvlcxyg@lenoch
State Accepted
Commit 0da008ef8d0441d582619c279212e65f9f0bd2fa
Delegated to: Tom Rini
Headers show

Commit Message

Ladislav Michl June 20, 2017, 9:43 a.m. UTC
Do not call onenand_spl_get_geometry() for each block read.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
---
 drivers/mtd/onenand/onenand_spl.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Tom Rini June 24, 2017, 10:17 p.m. UTC | #1
On Tue, Jun 20, 2017 at 11:43:22AM +0200, Ladislav Michl wrote:

> Do not call onenand_spl_get_geometry() for each block read.
> 
> Signed-off-by: Ladislav Michl <ladis@linux-mips.org>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/drivers/mtd/onenand/onenand_spl.c b/drivers/mtd/onenand/onenand_spl.c
index 1925f41d8a..6fad34aa1d 100644
--- a/drivers/mtd/onenand/onenand_spl.c
+++ b/drivers/mtd/onenand/onenand_spl.c
@@ -110,9 +110,12 @@  static u8 scratch_buf[PAGE_4K];
  */
 int onenand_spl_read_block(int block, int offset, int len, void *dst)
 {
-	int page, read, psize;
+	int page, read;
+	static int psize;
+
+	if (!psize)
+		psize = onenand_spl_get_geometry();
 
-	psize = onenand_spl_get_geometry();
 	/* Calculate the page number */
 	page = offset / psize;
 	/* Offset to the start of a flash page */