aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc64/kernel/time.c')
-rw-r--r--arch/sparc64/kernel/time.c37
1 files changed, 21 insertions, 16 deletions
diff --git a/arch/sparc64/kernel/time.c b/arch/sparc64/kernel/time.c
index 6a717d4d2bc5..c60785c046be 100644
--- a/arch/sparc64/kernel/time.c
+++ b/arch/sparc64/kernel/time.c
@@ -48,7 +48,7 @@
48 48
49DEFINE_SPINLOCK(mostek_lock); 49DEFINE_SPINLOCK(mostek_lock);
50DEFINE_SPINLOCK(rtc_lock); 50DEFINE_SPINLOCK(rtc_lock);
51unsigned long mstk48t02_regs = 0UL; 51void * __iomem mstk48t02_regs = 0UL;
52#ifdef CONFIG_PCI 52#ifdef CONFIG_PCI
53unsigned long ds1287_regs = 0UL; 53unsigned long ds1287_regs = 0UL;
54#endif 54#endif
@@ -59,8 +59,8 @@ u64 jiffies_64 = INITIAL_JIFFIES;
59 59
60EXPORT_SYMBOL(jiffies_64); 60EXPORT_SYMBOL(jiffies_64);
61 61
62static unsigned long mstk48t08_regs = 0UL; 62static void * __iomem mstk48t08_regs;
63static unsigned long mstk48t59_regs = 0UL; 63static void * __iomem mstk48t59_regs;
64 64
65static int set_rtc_mmss(unsigned long); 65static int set_rtc_mmss(unsigned long);
66 66
@@ -520,7 +520,7 @@ void timer_tick_interrupt(struct pt_regs *regs)
520/* Kick start a stopped clock (procedure from the Sun NVRAM/hostid FAQ). */ 520/* Kick start a stopped clock (procedure from the Sun NVRAM/hostid FAQ). */
521static void __init kick_start_clock(void) 521static void __init kick_start_clock(void)
522{ 522{
523 unsigned long regs = mstk48t02_regs; 523 void * __iomem regs = mstk48t02_regs;
524 u8 sec, tmp; 524 u8 sec, tmp;
525 int i, count; 525 int i, count;
526 526
@@ -604,7 +604,7 @@ static void __init kick_start_clock(void)
604/* Return nonzero if the clock chip battery is low. */ 604/* Return nonzero if the clock chip battery is low. */
605static int __init has_low_battery(void) 605static int __init has_low_battery(void)
606{ 606{
607 unsigned long regs = mstk48t02_regs; 607 void * __iomem regs = mstk48t02_regs;
608 u8 data1, data2; 608 u8 data1, data2;
609 609
610 spin_lock_irq(&mostek_lock); 610 spin_lock_irq(&mostek_lock);
@@ -623,7 +623,7 @@ static int __init has_low_battery(void)
623static void __init set_system_time(void) 623static void __init set_system_time(void)
624{ 624{
625 unsigned int year, mon, day, hour, min, sec; 625 unsigned int year, mon, day, hour, min, sec;
626 unsigned long mregs = mstk48t02_regs; 626 void * __iomem mregs = mstk48t02_regs;
627#ifdef CONFIG_PCI 627#ifdef CONFIG_PCI
628 unsigned long dregs = ds1287_regs; 628 unsigned long dregs = ds1287_regs;
629#else 629#else
@@ -843,7 +843,8 @@ void __init clock_probe(void)
843 !strcmp(model, "m5823")) { 843 !strcmp(model, "m5823")) {
844 ds1287_regs = edev->resource[0].start; 844 ds1287_regs = edev->resource[0].start;
845 } else { 845 } else {
846 mstk48t59_regs = edev->resource[0].start; 846 mstk48t59_regs = (void * __iomem)
847 edev->resource[0].start;
847 mstk48t02_regs = mstk48t59_regs + MOSTEK_48T59_48T02; 848 mstk48t02_regs = mstk48t59_regs + MOSTEK_48T59_48T02;
848 } 849 }
849 break; 850 break;
@@ -865,7 +866,8 @@ try_isa_clock:
865 !strcmp(model, "m5823")) { 866 !strcmp(model, "m5823")) {
866 ds1287_regs = isadev->resource.start; 867 ds1287_regs = isadev->resource.start;
867 } else { 868 } else {
868 mstk48t59_regs = isadev->resource.start; 869 mstk48t59_regs = (void * __iomem)
870 isadev->resource.start;
869 mstk48t02_regs = mstk48t59_regs + MOSTEK_48T59_48T02; 871 mstk48t02_regs = mstk48t59_regs + MOSTEK_48T59_48T02;
870 } 872 }
871 break; 873 break;
@@ -893,21 +895,24 @@ try_isa_clock:
893 } 895 }
894 896
895 if(model[5] == '0' && model[6] == '2') { 897 if(model[5] == '0' && model[6] == '2') {
896 mstk48t02_regs = (((u64)clk_reg[0].phys_addr) | 898 mstk48t02_regs = (void * __iomem)
897 (((u64)clk_reg[0].which_io)<<32UL)); 899 (((u64)clk_reg[0].phys_addr) |
900 (((u64)clk_reg[0].which_io)<<32UL));
898 } else if(model[5] == '0' && model[6] == '8') { 901 } else if(model[5] == '0' && model[6] == '8') {
899 mstk48t08_regs = (((u64)clk_reg[0].phys_addr) | 902 mstk48t08_regs = (void * __iomem)
900 (((u64)clk_reg[0].which_io)<<32UL)); 903 (((u64)clk_reg[0].phys_addr) |
904 (((u64)clk_reg[0].which_io)<<32UL));
901 mstk48t02_regs = mstk48t08_regs + MOSTEK_48T08_48T02; 905 mstk48t02_regs = mstk48t08_regs + MOSTEK_48T08_48T02;
902 } else { 906 } else {
903 mstk48t59_regs = (((u64)clk_reg[0].phys_addr) | 907 mstk48t59_regs = (void * __iomem)
904 (((u64)clk_reg[0].which_io)<<32UL)); 908 (((u64)clk_reg[0].phys_addr) |
909 (((u64)clk_reg[0].which_io)<<32UL));
905 mstk48t02_regs = mstk48t59_regs + MOSTEK_48T59_48T02; 910 mstk48t02_regs = mstk48t59_regs + MOSTEK_48T59_48T02;
906 } 911 }
907 break; 912 break;
908 } 913 }
909 914
910 if (mstk48t02_regs != 0UL) { 915 if (mstk48t02_regs != NULL) {
911 /* Report a low battery voltage condition. */ 916 /* Report a low battery voltage condition. */
912 if (has_low_battery()) 917 if (has_low_battery())
913 prom_printf("NVRAM: Low battery voltage!\n"); 918 prom_printf("NVRAM: Low battery voltage!\n");
@@ -1087,7 +1092,7 @@ unsigned long long sched_clock(void)
1087static int set_rtc_mmss(unsigned long nowtime) 1092static int set_rtc_mmss(unsigned long nowtime)
1088{ 1093{
1089 int real_seconds, real_minutes, chip_minutes; 1094 int real_seconds, real_minutes, chip_minutes;
1090 unsigned long mregs = mstk48t02_regs; 1095 void * __iomem mregs = mstk48t02_regs;
1091#ifdef CONFIG_PCI 1096#ifdef CONFIG_PCI
1092 unsigned long dregs = ds1287_regs; 1097 unsigned long dregs = ds1287_regs;
1093#else 1098#else