Skip to content

Commit

Permalink
ia64: Replace clocksource.fsys_mmio with generic arch data
Browse files Browse the repository at this point in the history
Now that clocksource.archdata is available, use it for ia64-specific
code.

Cc: Clemens Ladisch <[email protected]>
Cc: [email protected]
Cc: Tony Luck <[email protected]>
Cc: Fenghua Yu <[email protected]>
Cc: John Stultz <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Signed-off-by: Andy Lutomirski <[email protected]>
Link: http://lkml.kernel.org/r/d31de0ee0842a0e322fb6441571c2b0adb323fa2.1310563276.git.luto@mit.edu
Signed-off-by: H. Peter Anvin <[email protected]>
  • Loading branch information
amluto authored and H. Peter Anvin committed Jul 15, 2011
1 parent 98d0ac3 commit 574c44f
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 11 deletions.
12 changes: 12 additions & 0 deletions arch/ia64/include/asm/clocksource.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/* IA64-specific clocksource additions */

#ifndef _ASM_IA64_CLOCKSOURCE_H
#define _ASM_IA64_CLOCKSOURCE_H

#define __ARCH_HAS_CLOCKSOURCE_DATA

struct arch_clocksource_data {
void *fsys_mmio; /* used by fsyscall asm code */
};

#endif /* _ASM_IA64_CLOCKSOURCE_H */
2 changes: 1 addition & 1 deletion arch/ia64/kernel/cyclone.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ int __init init_cyclone_clock(void)
}
/* initialize last tick */
cyclone_mc = cyclone_timer;
clocksource_cyclone.fsys_mmio = cyclone_timer;
clocksource_cyclone.archdata.fsys_mmio = cyclone_timer;
clocksource_register_hz(&clocksource_cyclone, CYCLONE_TIMER_FREQ);

return 0;
Expand Down
2 changes: 1 addition & 1 deletion arch/ia64/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,7 @@ void update_vsyscall(struct timespec *wall, struct timespec *wtm,
fsyscall_gtod_data.clk_mask = c->mask;
fsyscall_gtod_data.clk_mult = mult;
fsyscall_gtod_data.clk_shift = c->shift;
fsyscall_gtod_data.clk_fsys_mmio = c->fsys_mmio;
fsyscall_gtod_data.clk_fsys_mmio = c->archdata.fsys_mmio;
fsyscall_gtod_data.clk_cycle_last = c->cycle_last;

/* copy kernel time structures */
Expand Down
2 changes: 1 addition & 1 deletion arch/ia64/sn/kernel/sn2/timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ ia64_sn_udelay (unsigned long usecs)

void __init sn_timer_init(void)
{
clocksource_sn2.fsys_mmio = RTC_COUNTER_ADDR;
clocksource_sn2.archdata.fsys_mmio = RTC_COUNTER_ADDR;
clocksource_register_hz(&clocksource_sn2, sn_rtc_cycles_per_second);

ia64_udelay = &ia64_sn_udelay;
Expand Down
2 changes: 1 addition & 1 deletion drivers/char/hpet.c
Original file line number Diff line number Diff line change
Expand Up @@ -931,7 +931,7 @@ int hpet_alloc(struct hpet_data *hdp)
#ifdef CONFIG_IA64
if (!hpet_clocksource) {
hpet_mctr = (void __iomem *)&hpetp->hp_hpet->hpet_mc;
CLKSRC_FSYS_MMIO_SET(clocksource_hpet.fsys_mmio, hpet_mctr);
clocksource_hpet.archdata.fsys_mmio = hpet_mctr;
clocksource_register_hz(&clocksource_hpet, hpetp->hp_tick_freq);
hpetp->hp_clocksource = &clocksource_hpet;
hpet_clocksource = &clocksource_hpet;
Expand Down
7 changes: 0 additions & 7 deletions include/linux/clocksource.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,13 +171,6 @@ struct clocksource {
u32 shift;
u64 max_idle_ns;

#ifdef CONFIG_IA64
void *fsys_mmio; /* used by fsyscall asm code */
#define CLKSRC_FSYS_MMIO_SET(mmio, addr) ((mmio) = (addr))
#else
#define CLKSRC_FSYS_MMIO_SET(mmio, addr) do { } while (0)
#endif

#ifdef __ARCH_HAS_CLOCKSOURCE_DATA
struct arch_clocksource_data archdata;
#endif
Expand Down

0 comments on commit 574c44f

Please sign in to comment.