aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-15 12:55:20 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-15 12:55:20 -0700
commit355aaffdaf82c95a004daedd1ea64fc61a25b8db (patch)
tree3953714a17f990e4942eae802ad7831564bd4d3f
parentc596cc46ba1c5769866efe586daff3422bc31afe (diff)
Reinstate lost flush_ioremap_region() fix to pxa2xx-flash driver
Commit 90833fdab89da02fc0276224167f0a42e5176f41 ("[ARM] 4554/1: replace consistent_sync() with flush_ioremap_region()") introduced a new "flush_ioremap_region()" function to be used by the MTD mainstone-flash and lubbock-flash drivers to fix a regression from around 2.6.18. Those drivers were independently merged into a single driver by Todd Poynor in commit e644f7d6289456657996df4192de76c5d0a9f9c7 ("[MTD] MAPS: Merge Lubbock and Mainstone drivers into common PXA2xx driver") Later, those two commits were merged into the main MTD tree by commit b160292cc216a50fd0cd386b0bda2cd48352c73b ("Merge Linux 2.6.23") by David Woodhouse, but in that merge, the fix to use flush_iomap_region() got lost (as it was to files that now no longer existed). This reinstates the fix in the new driver. Noticed-by: Russell King <rmk@arm.linux.org.uk> Tested-and-acked-by: Nicolas Pitre <nico@cam.org> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Jared Hulbert <jaredeh@gmail.com> Cc: Todd Poynor <tpoynor@mvista.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/mtd/maps/pxa2xx-flash.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mtd/maps/pxa2xx-flash.c b/drivers/mtd/maps/pxa2xx-flash.c
index cb933ac475d..82113295c26 100644
--- a/drivers/mtd/maps/pxa2xx-flash.c
+++ b/drivers/mtd/maps/pxa2xx-flash.c
@@ -14,20 +14,20 @@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
-#include <linux/dma-mapping.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/map.h>
#include <linux/mtd/partitions.h>
#include <asm/io.h>
#include <asm/hardware.h>
+#include <asm/cacheflush.h>
#include <asm/mach/flash.h>
static void pxa2xx_map_inval_cache(struct map_info *map, unsigned long from,
ssize_t len)
{
- consistent_sync((char *)map->cached + from, len, DMA_FROM_DEVICE);
+ flush_ioremap_region(map->phys, map->cached, from, len);
}
struct pxa2xx_flash_info {