diff options
-rw-r--r-- | arch/arm/mach-imx/generic.c | 2 | ||||
-rw-r--r-- | drivers/mtd/maps/lubbock-flash.c | 6 | ||||
-rw-r--r-- | drivers/mtd/maps/mainstone-flash.c | 5 | ||||
-rw-r--r-- | include/asm-arm/arch-at91/irqs.h | 3 | ||||
-rw-r--r-- | include/asm-arm/cacheflush.h | 7 | ||||
-rw-r--r-- | include/asm-arm/plat-s3c/map.h | 12 |
6 files changed, 21 insertions, 14 deletions
diff --git a/arch/arm/mach-imx/generic.c b/arch/arm/mach-imx/generic.c index a58b678006df..c342595dc318 100644 --- a/arch/arm/mach-imx/generic.c +++ b/arch/arm/mach-imx/generic.c | |||
@@ -138,7 +138,7 @@ EXPORT_SYMBOL(imx_gpio_direction_input); | |||
138 | int imx_gpio_direction_output(unsigned gpio, int value) | 138 | int imx_gpio_direction_output(unsigned gpio, int value) |
139 | { | 139 | { |
140 | imx_gpio_set_value(gpio, value); | 140 | imx_gpio_set_value(gpio, value); |
141 | imx_gpio_mode(gpio| GPIO_OUT); | 141 | imx_gpio_mode(gpio | GPIO_OUT | GPIO_GIUS | GPIO_DR); |
142 | return 0; | 142 | return 0; |
143 | } | 143 | } |
144 | 144 | ||
diff --git a/drivers/mtd/maps/lubbock-flash.c b/drivers/mtd/maps/lubbock-flash.c index 1aa0447c5e66..e8560683b973 100644 --- a/drivers/mtd/maps/lubbock-flash.c +++ b/drivers/mtd/maps/lubbock-flash.c | |||
@@ -15,9 +15,7 @@ | |||
15 | #include <linux/types.h> | 15 | #include <linux/types.h> |
16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/slab.h> | ||
19 | 18 | ||
20 | #include <linux/dma-mapping.h> | ||
21 | #include <linux/mtd/mtd.h> | 19 | #include <linux/mtd/mtd.h> |
22 | #include <linux/mtd/map.h> | 20 | #include <linux/mtd/map.h> |
23 | #include <linux/mtd/partitions.h> | 21 | #include <linux/mtd/partitions.h> |
@@ -26,7 +24,7 @@ | |||
26 | #include <asm/hardware.h> | 24 | #include <asm/hardware.h> |
27 | #include <asm/arch/pxa-regs.h> | 25 | #include <asm/arch/pxa-regs.h> |
28 | #include <asm/arch/lubbock.h> | 26 | #include <asm/arch/lubbock.h> |
29 | 27 | #include <asm/cacheflush.h> | |
30 | 28 | ||
31 | #define ROM_ADDR 0x00000000 | 29 | #define ROM_ADDR 0x00000000 |
32 | #define FLASH_ADDR 0x04000000 | 30 | #define FLASH_ADDR 0x04000000 |
@@ -35,7 +33,7 @@ | |||
35 | 33 | ||
36 | static void lubbock_map_inval_cache(struct map_info *map, unsigned long from, ssize_t len) | 34 | static void lubbock_map_inval_cache(struct map_info *map, unsigned long from, ssize_t len) |
37 | { | 35 | { |
38 | consistent_sync((char *)map->cached + from, len, DMA_FROM_DEVICE); | 36 | flush_ioremap_region(map->phys, map->cached, from, len); |
39 | } | 37 | } |
40 | 38 | ||
41 | static struct map_info lubbock_maps[2] = { { | 39 | static struct map_info lubbock_maps[2] = { { |
diff --git a/drivers/mtd/maps/mainstone-flash.c b/drivers/mtd/maps/mainstone-flash.c index eaa4bbb868a3..d76487d82dcd 100644 --- a/drivers/mtd/maps/mainstone-flash.c +++ b/drivers/mtd/maps/mainstone-flash.c | |||
@@ -15,8 +15,6 @@ | |||
15 | #include <linux/types.h> | 15 | #include <linux/types.h> |
16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/dma-mapping.h> | ||
19 | #include <linux/slab.h> | ||
20 | 18 | ||
21 | #include <linux/mtd/mtd.h> | 19 | #include <linux/mtd/mtd.h> |
22 | #include <linux/mtd/map.h> | 20 | #include <linux/mtd/map.h> |
@@ -26,6 +24,7 @@ | |||
26 | #include <asm/hardware.h> | 24 | #include <asm/hardware.h> |
27 | #include <asm/arch/pxa-regs.h> | 25 | #include <asm/arch/pxa-regs.h> |
28 | #include <asm/arch/mainstone.h> | 26 | #include <asm/arch/mainstone.h> |
27 | #include <asm/cacheflush.h> | ||
29 | 28 | ||
30 | 29 | ||
31 | #define ROM_ADDR 0x00000000 | 30 | #define ROM_ADDR 0x00000000 |
@@ -36,7 +35,7 @@ | |||
36 | static void mainstone_map_inval_cache(struct map_info *map, unsigned long from, | 35 | static void mainstone_map_inval_cache(struct map_info *map, unsigned long from, |
37 | ssize_t len) | 36 | ssize_t len) |
38 | { | 37 | { |
39 | consistent_sync((char *)map->cached + from, len, DMA_FROM_DEVICE); | 38 | flush_ioremap_region(map->phys, map->cached, from, len); |
40 | } | 39 | } |
41 | 40 | ||
42 | static struct map_info mainstone_maps[2] = { { | 41 | static struct map_info mainstone_maps[2] = { { |
diff --git a/include/asm-arm/arch-at91/irqs.h b/include/asm-arm/arch-at91/irqs.h index 1127a3b5e928..70b1216dce5d 100644 --- a/include/asm-arm/arch-at91/irqs.h +++ b/include/asm-arm/arch-at91/irqs.h | |||
@@ -42,4 +42,7 @@ | |||
42 | */ | 42 | */ |
43 | #define NR_IRQS (NR_AIC_IRQS + (5 * 32)) | 43 | #define NR_IRQS (NR_AIC_IRQS + (5 * 32)) |
44 | 44 | ||
45 | /* FIQ is AIC source 0. */ | ||
46 | #define FIQ_START AT91_ID_FIQ | ||
47 | |||
45 | #endif | 48 | #endif |
diff --git a/include/asm-arm/cacheflush.h b/include/asm-arm/cacheflush.h index d1294a46c70c..6c1c968b2987 100644 --- a/include/asm-arm/cacheflush.h +++ b/include/asm-arm/cacheflush.h | |||
@@ -426,6 +426,13 @@ static inline void flush_anon_page(struct vm_area_struct *vma, | |||
426 | */ | 426 | */ |
427 | #define flush_icache_page(vma,page) do { } while (0) | 427 | #define flush_icache_page(vma,page) do { } while (0) |
428 | 428 | ||
429 | static inline void flush_ioremap_region(unsigned long phys, void __iomem *virt, | ||
430 | unsigned offset, size_t size) | ||
431 | { | ||
432 | const void *start = (void __force *)virt + offset; | ||
433 | dmac_inv_range(start, start + size); | ||
434 | } | ||
435 | |||
429 | #define __cacheid_present(val) (val != read_cpuid(CPUID_ID)) | 436 | #define __cacheid_present(val) (val != read_cpuid(CPUID_ID)) |
430 | #define __cacheid_type_v7(val) ((val & (7 << 29)) == (4 << 29)) | 437 | #define __cacheid_type_v7(val) ((val & (7 << 29)) == (4 << 29)) |
431 | 438 | ||
diff --git a/include/asm-arm/plat-s3c/map.h b/include/asm-arm/plat-s3c/map.h index 95a82b0e84a1..b84289d32a54 100644 --- a/include/asm-arm/plat-s3c/map.h +++ b/include/asm-arm/plat-s3c/map.h | |||
@@ -30,11 +30,11 @@ | |||
30 | #define S3C_ADDR(x) (S3C_ADDR_BASE + (x)) | 30 | #define S3C_ADDR(x) (S3C_ADDR_BASE + (x)) |
31 | #endif | 31 | #endif |
32 | 32 | ||
33 | #define S3C_VA_IRQ S3C_ADDR(0x000000000) /* irq controller(s) */ | 33 | #define S3C_VA_IRQ S3C_ADDR(0x00000000) /* irq controller(s) */ |
34 | #define S3C_VA_SYS S3C_ADDR(0x001000000) /* system control */ | 34 | #define S3C_VA_SYS S3C_ADDR(0x00100000) /* system control */ |
35 | #define S3C_VA_MEM S3C_ADDR(0x002000000) /* system control */ | 35 | #define S3C_VA_MEM S3C_ADDR(0x00200000) /* system control */ |
36 | #define S3C_VA_TIMER S3C_ADDR(0x003000000) /* timer block */ | 36 | #define S3C_VA_TIMER S3C_ADDR(0x00300000) /* timer block */ |
37 | #define S3C_VA_WATCHDOG S3C_ADDR(0x004000000) /* watchdog */ | 37 | #define S3C_VA_WATCHDOG S3C_ADDR(0x00400000) /* watchdog */ |
38 | #define S3C_VA_UART S3C_ADDR(0x010000000) /* UART */ | 38 | #define S3C_VA_UART S3C_ADDR(0x01000000) /* UART */ |
39 | 39 | ||
40 | #endif /* __ASM_PLAT_MAP_H */ | 40 | #endif /* __ASM_PLAT_MAP_H */ |