]> git.karo-electronics.de Git - karo-tx-linux.git/commit
mtd: nand: don't use {read,write}_buf for 8-bit transfers
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 4 Mar 2013 16:47:35 +0000 (17:47 +0100)
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Tue, 19 Mar 2013 08:22:33 +0000 (10:22 +0200)
commitf7e81267a70a134c137c295579739705fd026332
tree20b17dc15da01541e6aff7ae36e60de9e9c64005
parenta5eacfdea363615f4999423efab35e759a950649
mtd: nand: don't use {read,write}_buf for 8-bit transfers

According to the Open NAND Flash Interface Specification (ONFI) Revision
3.1 "Parameters are always transferred on the lower 8-bits of the data
bus." for the Get Features and Set Features commands.

So using read_buf and write_buf is wrong for 16-bit wide nand chips as
they use I/O[15:0]. The Get Features command is easily fixed using 4
times the read_byte callback. For Set Features implement a new
overwritable callback "write_byte". Still I expect the default to work
just fine for all controllers.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
drivers/mtd/nand/nand_base.c
include/linux/mtd/nand.h