diff options
Diffstat (limited to 'arch/alpha/kernel/sys_marvel.c')
| -rw-r--r-- | arch/alpha/kernel/sys_marvel.c | 55 |
1 files changed, 1 insertions, 54 deletions
diff --git a/arch/alpha/kernel/sys_marvel.c b/arch/alpha/kernel/sys_marvel.c index c92e389ff219..f21d61fab678 100644 --- a/arch/alpha/kernel/sys_marvel.c +++ b/arch/alpha/kernel/sys_marvel.c | |||
| @@ -22,7 +22,6 @@ | |||
| 22 | #include <asm/hwrpb.h> | 22 | #include <asm/hwrpb.h> |
| 23 | #include <asm/tlbflush.h> | 23 | #include <asm/tlbflush.h> |
| 24 | #include <asm/vga.h> | 24 | #include <asm/vga.h> |
| 25 | #include <asm/rtc.h> | ||
| 26 | 25 | ||
| 27 | #include "proto.h" | 26 | #include "proto.h" |
| 28 | #include "err_impl.h" | 27 | #include "err_impl.h" |
| @@ -400,57 +399,6 @@ marvel_init_rtc(void) | |||
| 400 | init_rtc_irq(); | 399 | init_rtc_irq(); |
| 401 | } | 400 | } |
| 402 | 401 | ||
| 403 | struct marvel_rtc_time { | ||
| 404 | struct rtc_time *time; | ||
| 405 | int retval; | ||
| 406 | }; | ||
| 407 | |||
| 408 | #ifdef CONFIG_SMP | ||
| 409 | static void | ||
| 410 | smp_get_rtc_time(void *data) | ||
| 411 | { | ||
| 412 | struct marvel_rtc_time *mrt = data; | ||
| 413 | mrt->retval = __get_rtc_time(mrt->time); | ||
| 414 | } | ||
| 415 | |||
| 416 | static void | ||
| 417 | smp_set_rtc_time(void *data) | ||
| 418 | { | ||
| 419 | struct marvel_rtc_time *mrt = data; | ||
| 420 | mrt->retval = __set_rtc_time(mrt->time); | ||
| 421 | } | ||
| 422 | #endif | ||
| 423 | |||
| 424 | static unsigned int | ||
| 425 | marvel_get_rtc_time(struct rtc_time *time) | ||
| 426 | { | ||
| 427 | #ifdef CONFIG_SMP | ||
| 428 | struct marvel_rtc_time mrt; | ||
| 429 | |||
| 430 | if (smp_processor_id() != boot_cpuid) { | ||
| 431 | mrt.time = time; | ||
| 432 | smp_call_function_single(boot_cpuid, smp_get_rtc_time, &mrt, 1); | ||
| 433 | return mrt.retval; | ||
| 434 | } | ||
| 435 | #endif | ||
| 436 | return __get_rtc_time(time); | ||
| 437 | } | ||
| 438 | |||
| 439 | static int | ||
| 440 | marvel_set_rtc_time(struct rtc_time *time) | ||
| 441 | { | ||
| 442 | #ifdef CONFIG_SMP | ||
| 443 | struct marvel_rtc_time mrt; | ||
| 444 | |||
| 445 | if (smp_processor_id() != boot_cpuid) { | ||
| 446 | mrt.time = time; | ||
| 447 | smp_call_function_single(boot_cpuid, smp_set_rtc_time, &mrt, 1); | ||
| 448 | return mrt.retval; | ||
| 449 | } | ||
| 450 | #endif | ||
| 451 | return __set_rtc_time(time); | ||
| 452 | } | ||
| 453 | |||
| 454 | static void | 402 | static void |
| 455 | marvel_smp_callin(void) | 403 | marvel_smp_callin(void) |
| 456 | { | 404 | { |
| @@ -492,8 +440,7 @@ struct alpha_machine_vector marvel_ev7_mv __initmv = { | |||
| 492 | .vector_name = "MARVEL/EV7", | 440 | .vector_name = "MARVEL/EV7", |
| 493 | DO_EV7_MMU, | 441 | DO_EV7_MMU, |
| 494 | .rtc_port = 0x70, | 442 | .rtc_port = 0x70, |
| 495 | .rtc_get_time = marvel_get_rtc_time, | 443 | .rtc_boot_cpu_only = 1, |
| 496 | .rtc_set_time = marvel_set_rtc_time, | ||
| 497 | DO_MARVEL_IO, | 444 | DO_MARVEL_IO, |
| 498 | .machine_check = marvel_machine_check, | 445 | .machine_check = marvel_machine_check, |
| 499 | .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS, | 446 | .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS, |
