[PATCH] MTD: [NAND] Fix the sharpsl driver after breakage from a core conversion

Richard Purdie rpurdie at rpsys.net
Sat Jul 15 08:05:24 EDT 2006


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 at rpsys.net>

Index: git/drivers/mtd/nand/sharpsl.c
===================================================================
--- git.orig/drivers/mtd/nand/sharpsl.c	2006-07-15 12:47:53.000000000 +0100
+++ git/drivers/mtd/nand/sharpsl.c	2006-07-15 12:06:31.000000000 +0100
@@ -78,7 +78,7 @@
 /*
  *	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 @@
 		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)






More information about the linux-mtd mailing list