Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[MTD] [NAND] Fix endianess bug in ndfc.c

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>

authored by

Stefan Roese and committed by
David Woodhouse
4010db56 ddacff1f

+1 -1
+1 -1
drivers/mtd/nand/ndfc.c
··· 56 56 ccr |= NDFC_CCR_BS(chip + pchip->chip_offset); 57 57 } else 58 58 ccr |= NDFC_CCR_RESET_CE; 59 - writel(ccr, ndfc->ndfcbase + NDFC_CCR); 59 + __raw_writel(ccr, ndfc->ndfcbase + NDFC_CCR); 60 60 } 61 61 62 62 static void ndfc_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl)