diff options
-rw-r--r-- | arch/parisc/kernel/cache.c | 8 | ||||
-rw-r--r-- | arch/parisc/kernel/smp.c | 8 | ||||
-rw-r--r-- | arch/parisc/mm/init.c | 2 | ||||
-rw-r--r-- | include/asm-parisc/cache.h | 8 | ||||
-rw-r--r-- | include/asm-parisc/tlbflush.h | 1 |
5 files changed, 13 insertions, 14 deletions
diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c index 63047c6d2d04..d8a4ca021aac 100644 --- a/arch/parisc/kernel/cache.c +++ b/arch/parisc/kernel/cache.c | |||
@@ -54,20 +54,20 @@ static struct pdc_btlb_info btlb_info __read_mostly; | |||
54 | void | 54 | void |
55 | flush_data_cache(void) | 55 | flush_data_cache(void) |
56 | { | 56 | { |
57 | on_each_cpu((void (*)(void *))flush_data_cache_local, NULL, 1, 1); | 57 | on_each_cpu(flush_data_cache_local, NULL, 1, 1); |
58 | } | 58 | } |
59 | void | 59 | void |
60 | flush_instruction_cache(void) | 60 | flush_instruction_cache(void) |
61 | { | 61 | { |
62 | on_each_cpu((void (*)(void *))flush_instruction_cache_local, NULL, 1, 1); | 62 | on_each_cpu(flush_instruction_cache_local, NULL, 1, 1); |
63 | } | 63 | } |
64 | #endif | 64 | #endif |
65 | 65 | ||
66 | void | 66 | void |
67 | flush_cache_all_local(void) | 67 | flush_cache_all_local(void) |
68 | { | 68 | { |
69 | flush_instruction_cache_local(); | 69 | flush_instruction_cache_local(NULL); |
70 | flush_data_cache_local(); | 70 | flush_data_cache_local(NULL); |
71 | } | 71 | } |
72 | EXPORT_SYMBOL(flush_cache_all_local); | 72 | EXPORT_SYMBOL(flush_cache_all_local); |
73 | 73 | ||
diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c index fb3ca84f1b97..17f23c26f1ca 100644 --- a/arch/parisc/kernel/smp.c +++ b/arch/parisc/kernel/smp.c | |||
@@ -39,7 +39,7 @@ | |||
39 | #include <asm/atomic.h> | 39 | #include <asm/atomic.h> |
40 | #include <asm/current.h> | 40 | #include <asm/current.h> |
41 | #include <asm/delay.h> | 41 | #include <asm/delay.h> |
42 | #include <asm/pgalloc.h> /* for flush_tlb_all() proto/macro */ | 42 | #include <asm/tlbflush.h> |
43 | 43 | ||
44 | #include <asm/io.h> | 44 | #include <asm/io.h> |
45 | #include <asm/irq.h> /* for CPU_IRQ_REGION and friends */ | 45 | #include <asm/irq.h> /* for CPU_IRQ_REGION and friends */ |
@@ -406,12 +406,10 @@ EXPORT_SYMBOL(smp_call_function); | |||
406 | * as we want to ensure all TLB's flushed before proceeding. | 406 | * as we want to ensure all TLB's flushed before proceeding. |
407 | */ | 407 | */ |
408 | 408 | ||
409 | extern void flush_tlb_all_local(void); | ||
410 | |||
411 | void | 409 | void |
412 | smp_flush_tlb_all(void) | 410 | smp_flush_tlb_all(void) |
413 | { | 411 | { |
414 | on_each_cpu((void (*)(void *))flush_tlb_all_local, NULL, 1, 1); | 412 | on_each_cpu(flush_tlb_all_local, NULL, 1, 1); |
415 | } | 413 | } |
416 | 414 | ||
417 | 415 | ||
@@ -487,7 +485,7 @@ void __init smp_callin(void) | |||
487 | #endif | 485 | #endif |
488 | 486 | ||
489 | flush_cache_all_local(); /* start with known state */ | 487 | flush_cache_all_local(); /* start with known state */ |
490 | flush_tlb_all_local(); | 488 | flush_tlb_all_local(NULL); |
491 | 489 | ||
492 | local_irq_enable(); /* Interrupts have been off until now */ | 490 | local_irq_enable(); /* Interrupts have been off until now */ |
493 | 491 | ||
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c index a992cb8cfe61..f2e7f13ddeeb 100644 --- a/arch/parisc/mm/init.c +++ b/arch/parisc/mm/init.c | |||
@@ -998,7 +998,7 @@ void flush_tlb_all(void) | |||
998 | void flush_tlb_all(void) | 998 | void flush_tlb_all(void) |
999 | { | 999 | { |
1000 | spin_lock(&sid_lock); | 1000 | spin_lock(&sid_lock); |
1001 | flush_tlb_all_local(); | 1001 | flush_tlb_all_local(NULL); |
1002 | recycle_sids(); | 1002 | recycle_sids(); |
1003 | spin_unlock(&sid_lock); | 1003 | spin_unlock(&sid_lock); |
1004 | } | 1004 | } |
diff --git a/include/asm-parisc/cache.h b/include/asm-parisc/cache.h index 38d201b5652d..93f179f13ce8 100644 --- a/include/asm-parisc/cache.h +++ b/include/asm-parisc/cache.h | |||
@@ -29,14 +29,14 @@ | |||
29 | 29 | ||
30 | #define SMP_CACHE_BYTES L1_CACHE_BYTES | 30 | #define SMP_CACHE_BYTES L1_CACHE_BYTES |
31 | 31 | ||
32 | extern void flush_data_cache_local(void); /* flushes local data-cache only */ | 32 | extern void flush_data_cache_local(void *); /* flushes local data-cache only */ |
33 | extern void flush_instruction_cache_local(void); /* flushes local code-cache only */ | 33 | extern void flush_instruction_cache_local(void *); /* flushes local code-cache only */ |
34 | #ifdef CONFIG_SMP | 34 | #ifdef CONFIG_SMP |
35 | extern void flush_data_cache(void); /* flushes data-cache only (all processors) */ | 35 | extern void flush_data_cache(void); /* flushes data-cache only (all processors) */ |
36 | extern void flush_instruction_cache(void); /* flushes i-cache only (all processors) */ | 36 | extern void flush_instruction_cache(void); /* flushes i-cache only (all processors) */ |
37 | #else | 37 | #else |
38 | #define flush_data_cache flush_data_cache_local | 38 | #define flush_data_cache() flush_data_cache_local(NULL) |
39 | #define flush_instruction_cache flush_instruction_cache_local | 39 | #define flush_instruction_cache() flush_instruction_cache_local(NULL) |
40 | #endif | 40 | #endif |
41 | 41 | ||
42 | extern void parisc_cache_init(void); /* initializes cache-flushing */ | 42 | extern void parisc_cache_init(void); /* initializes cache-flushing */ |
diff --git a/include/asm-parisc/tlbflush.h b/include/asm-parisc/tlbflush.h index c9ec39c6fc6c..825994a90e2d 100644 --- a/include/asm-parisc/tlbflush.h +++ b/include/asm-parisc/tlbflush.h | |||
@@ -22,6 +22,7 @@ extern spinlock_t pa_tlb_lock; | |||
22 | #define purge_tlb_end(x) spin_unlock(&pa_tlb_lock) | 22 | #define purge_tlb_end(x) spin_unlock(&pa_tlb_lock) |
23 | 23 | ||
24 | extern void flush_tlb_all(void); | 24 | extern void flush_tlb_all(void); |
25 | extern void flush_tlb_all_local(void *); | ||
25 | 26 | ||
26 | /* | 27 | /* |
27 | * flush_tlb_mm() | 28 | * flush_tlb_mm() |