diff options
| author | Paulius Zaleckas <paulius.zaleckas@teltonika.lt> | 2008-02-26 18:42:39 -0500 |
|---|---|---|
| committer | David Woodhouse <dwmw2@infradead.org> | 2008-04-22 14:47:42 -0400 |
| commit | ca5c23c3b8882d61bf19b7685f2244501902869f (patch) | |
| tree | 796c03bd0f6b1399148e46fa70f8d8c4be356f41 /drivers/mtd | |
| parent | fe69af002e26ca39824f626459c16d642607b573 (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.c | 4 | ||||
| -rw-r--r-- | drivers/mtd/chips/cfi_cmdset_0002.c | 4 | ||||
| -rw-r--r-- | drivers/mtd/chips/cfi_probe.c | 2 | ||||
| -rw-r--r-- | drivers/mtd/chips/cfi_util.c | 2 |
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) \ |
| 40 | do { \ | 40 | do { \ |
| 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 | ||
