aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2006-07-15 13:05:24 +0100
committerDavid Woodhouse <dwmw2@infradead.org>2006-07-15 13:19:24 +0100
commit6a5a297cf78e64ed68577f3e3480bc10abf0124b (patch)
tree0351c473d3bcc7b883ed22aef9cb3cad14fdede7
parent8b0036eefd7a96f23244b969417684c8627f5ad6 (diff)
downloadkernel_samsung_tuna-6a5a297cf78e64ed68577f3e3480bc10abf0124b.zip
kernel_samsung_tuna-6a5a297cf78e64ed68577f3e3480bc10abf0124b.tar.gz
kernel_samsung_tuna-6a5a297cf78e64ed68577f3e3480bc10abf0124b.tar.bz2
MTD: [NAND] Fix the sharpsl driver after breakage from a core conversion
The CNE bits are inverted on the device and writeb function is missing a NOT operation. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
-rw-r--r--drivers/mtd/nand/sharpsl.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/mtd/nand/sharpsl.c b/drivers/mtd/nand/sharpsl.c
index fbeedc3..51c7288 100644
--- a/drivers/mtd/nand/sharpsl.c
+++ b/drivers/mtd/nand/sharpsl.c
@@ -78,7 +78,7 @@ static struct mtd_partition sharpsl_nand_default_partition_info[] = {
/*
* hardware specific access to control-lines
* ctrl:
- * NAND_CNE: bit 0 -> bit 0 & 4
+ * NAND_CNE: bit 0 -> ! bit 0 & 4
* NAND_CLE: bit 1 -> bit 1
* NAND_ALE: bit 2 -> bit 2
*
@@ -92,7 +92,10 @@ static void sharpsl_nand_hwcontrol(struct mtd_info *mtd, int cmd,
unsigned char bits = ctrl & 0x07;
bits |= (ctrl & 0x01) << 4;
- writeb((readb(FLASHCTL) & 0x17) | bits, FLASHCTL);
+
+ bits ^= 0x11;
+
+ writeb((readb(FLASHCTL) & ~0x17) | bits, FLASHCTL);
}
if (cmd != NAND_CMD_NONE)