aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorPaulius Zaleckas <paulius.zaleckas@teltonika.lt>2008-02-26 18:42:39 -0500
committerDavid Woodhouse <dwmw2@infradead.org>2008-04-22 14:47:42 -0400
commitca5c23c3b8882d61bf19b7685f2244501902869f (patch)
tree796c03bd0f6b1399148e46fa70f8d8c4be356f41 /drivers/mtd
parentfe69af002e26ca39824f626459c16d642607b573 (diff)
[MTD] XIP: Use generic xip_iprefetch() instead of asm volatile (...)
Untested, but shouldn't break anything... Makes MTD_XIP arch independent. I guess this is why xip_iprefetch() was made for. Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt> Acked-by: Nicolas Pitre <nico@cam.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/chips/cfi_cmdset_0001.c4
-rw-r--r--drivers/mtd/chips/cfi_cmdset_0002.c4
-rw-r--r--drivers/mtd/chips/cfi_probe.c2
-rw-r--r--drivers/mtd/chips/cfi_util.c2
4 files changed, 6 insertions, 6 deletions
diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
index 81b7767a665a..eb0e30824ddb 100644
--- a/drivers/mtd/chips/cfi_cmdset_0001.c
+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
@@ -1071,10 +1071,10 @@ static int __xipram xip_wait_for_operation(
1071 chip->state = newstate; 1071 chip->state = newstate;
1072 map_write(map, CMD(0xff), adr); 1072 map_write(map, CMD(0xff), adr);
1073 (void) map_read(map, adr); 1073 (void) map_read(map, adr);
1074 asm volatile (".rep 8; nop; .endr"); 1074 xip_iprefetch();
1075 local_irq_enable(); 1075 local_irq_enable();
1076 spin_unlock(chip->mutex); 1076 spin_unlock(chip->mutex);
1077 asm volatile (".rep 8; nop; .endr"); 1077 xip_iprefetch();
1078 cond_resched(); 1078 cond_resched();
1079 1079
1080 /* 1080 /*
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
index 458d477614d6..5cd657322bc4 100644
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -723,10 +723,10 @@ static void __xipram xip_udelay(struct map_info *map, struct flchip *chip,
723 chip->erase_suspended = 1; 723 chip->erase_suspended = 1;
724 map_write(map, CMD(0xf0), adr); 724 map_write(map, CMD(0xf0), adr);
725 (void) map_read(map, adr); 725 (void) map_read(map, adr);
726 asm volatile (".rep 8; nop; .endr"); 726 xip_iprefetch();
727 local_irq_enable(); 727 local_irq_enable();
728 spin_unlock(chip->mutex); 728 spin_unlock(chip->mutex);
729 asm volatile (".rep 8; nop; .endr"); 729 xip_iprefetch();
730 cond_resched(); 730 cond_resched();
731 731
732 /* 732 /*
diff --git a/drivers/mtd/chips/cfi_probe.c b/drivers/mtd/chips/cfi_probe.c
index f651b6ef1c5d..b03d43ef9108 100644
--- a/drivers/mtd/chips/cfi_probe.c
+++ b/drivers/mtd/chips/cfi_probe.c
@@ -39,7 +39,7 @@ struct mtd_info *cfi_probe(struct map_info *map);
39#define xip_allowed(base, map) \ 39#define xip_allowed(base, map) \
40do { \ 40do { \
41 (void) map_read(map, base); \ 41 (void) map_read(map, base); \
42 asm volatile (".rep 8; nop; .endr"); \ 42 xip_iprefetch(); \
43 local_irq_enable(); \ 43 local_irq_enable(); \
44} while (0) 44} while (0)
45 45
diff --git a/drivers/mtd/chips/cfi_util.c b/drivers/mtd/chips/cfi_util.c
index 2e51496c248e..72e0022a47bf 100644
--- a/drivers/mtd/chips/cfi_util.c
+++ b/drivers/mtd/chips/cfi_util.c
@@ -65,7 +65,7 @@ __xipram cfi_read_pri(struct map_info *map, __u16 adr, __u16 size, const char* n
65 65
66#ifdef CONFIG_MTD_XIP 66#ifdef CONFIG_MTD_XIP
67 (void) map_read(map, base); 67 (void) map_read(map, base);
68 asm volatile (".rep 8; nop; .endr"); 68 xip_iprefetch();
69 local_irq_enable(); 69 local_irq_enable();
70#endif 70#endif
71 71