[MTD] [NAND] Fix endianess bug in ndfc.c
authorStefan Roese <ml@stefan-roese.de>
Fri, 10 Nov 2006 11:19:32 +0000 (12:19 +0100)
committerDavid Woodhouse <dwmw2@infradead.org>
Tue, 28 Nov 2006 22:22:55 +0000 (22:22 +0000)
The writel() call accidentally clears all bits in the NDFC_CCR
register (endianess problem). Now __raw_writel() is used instead.

Tested on Bamboo with NAND on chip select 0 and chip select 1.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
drivers/mtd/nand/ndfc.c

index 039c759cfbfc5b1e1f28cf607b057d5cfe1fbfe7..fd7a8d5ba29a0d2c9bf626b1f21ddaf721ea7956 100644 (file)
@@ -56,7 +56,7 @@ static void ndfc_select_chip(struct mtd_info *mtd, int chip)
                ccr |= NDFC_CCR_BS(chip + pchip->chip_offset);
        } else
                ccr |= NDFC_CCR_RESET_CE;
-       writel(ccr, ndfc->ndfcbase + NDFC_CCR);
+       __raw_writel(ccr, ndfc->ndfcbase + NDFC_CCR);
 }
 
 static void ndfc_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl)