diff options
author | Matthew Wilcox <willy@parisc-linux.org> | 2006-01-10 20:47:49 -0500 |
---|---|---|
committer | Kyle McMartin <kyle@duet.int.mcmartin.ca> | 2006-01-10 21:49:21 -0500 |
commit | 1b2425e3c79984975a1a3e6fa84512f23d96da9f (patch) | |
tree | 4a79c6a21700f4eeeb457aee81b9e48ad3a87642 /arch/parisc/kernel | |
parent | 8039de10aae3cd4cf0ef0ccebd58aff0e8810df2 (diff) |
[PARISC] Make local cache flushes take a void *
Make flush_data_cache_local, flush_instruction_cache_local and
flush_tlb_all_local take a void * so they don't have to be cast
when using on_each_cpu(). This becomes a problem when on_each_cpu
is a macro (as it is in current -mm).
Also move the prototype of flush_tlb_all_local into tlbflush.h and
remove its declaration from .c files.
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc/kernel')
-rw-r--r-- | arch/parisc/kernel/cache.c | 8 | ||||
-rw-r--r-- | arch/parisc/kernel/smp.c | 8 |
2 files changed, 7 insertions, 9 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 | ||