onenand_spl_simple: Call onenand_spl_get_geometry() only once
[oweals/u-boot.git] / drivers / mtd / onenand / onenand_spl.c
index 1925f41d8a22ee020417b794c67e347bd511c4cb..6fad34aa1dc3e7b0bd8b6f752223279e444a4501 100644 (file)
@@ -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 */