From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wi0-f171.google.com ([209.85.212.171]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1Wfnke-0002jv-2P for linux-mtd@lists.infradead.org; Thu, 01 May 2014 09:58:00 +0000 Received: by mail-wi0-f171.google.com with SMTP id hm4so408392wib.10 for ; Thu, 01 May 2014 02:57:41 -0700 (PDT) From: Lee Jones To: linux-kernel@vger.kernel.org Subject: [PATCH 17/47] mtd: nand: stm_nand_bch: derive some working variables for latter use Date: Thu, 1 May 2014 10:56:24 +0100 Message-Id: <1398938214-17847-18-git-send-email-lee.jones@linaro.org> In-Reply-To: <1398938214-17847-1-git-send-email-lee.jones@linaro.org> References: <1398938214-17847-1-git-send-email-lee.jones@linaro.org> Cc: Lee Jones , computersforpeace@gmail.com, linux-mtd@lists.infradead.org, kernel@stlinux.com List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , A few of the working variables can either be taken or derived from existing knowledge about the connected chip. Rather than attempt to provide each specification manually, here we make assumptions based on information already obtained. Signed-off-by: Lee Jones --- drivers/mtd/nand/stm_nand_bch.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/mtd/nand/stm_nand_bch.c b/drivers/mtd/nand/stm_nand_bch.c index a1c25d0..8302273 100644 --- a/drivers/mtd/nand/stm_nand_bch.c +++ b/drivers/mtd/nand/stm_nand_bch.c @@ -930,6 +930,15 @@ static int stm_nand_bch_probe(struct platform_device *pdev) return -EINVAL; } + /* Derive some working variables */ + nandi->sectors_per_page = mtd->writesize / NANDI_BCH_SECTOR_SIZE; + nandi->blocks_per_device = mtd->size >> chip->phys_erase_shift; + nandi->page_shift = chip->page_shift; + nandi->block_shift = chip->phys_erase_shift; + nandi->extra_addr = ((chip->chipsize >> nandi->page_shift) > + 0x10000) ? true : false; + mtd->writebufsize = mtd->writesize; + return 0; } -- 1.8.3.2