Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5e0e93f authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Thomas Gleixner
Browse files

i386: prepare sharing the PIT code



PIT clock events work already and the PIT handling is the same for
i386 and x86_64. x86_64 does not support PIT as a clock source, so
disable the PIT clocksource for x86_64.

Prepare i8253.h to be shared with x8664

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
parent 28769149
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -13,7 +13,6 @@
#include <asm/delay.h>
#include <asm/delay.h>
#include <asm/i8253.h>
#include <asm/i8253.h>
#include <asm/io.h>
#include <asm/io.h>
#include <asm/timer.h>


DEFINE_SPINLOCK(i8253_lock);
DEFINE_SPINLOCK(i8253_lock);
EXPORT_SYMBOL(i8253_lock);
EXPORT_SYMBOL(i8253_lock);
@@ -120,6 +119,7 @@ void __init setup_pit_timer(void)
	global_clock_event = &pit_clockevent;
	global_clock_event = &pit_clockevent;
}
}


#ifndef CONFIG_X86_64
/*
/*
 * Since the PIT overflows every tick, its not very useful
 * Since the PIT overflows every tick, its not very useful
 * to just read by itself. So use jiffies to emulate a free
 * to just read by itself. So use jiffies to emulate a free
@@ -204,3 +204,5 @@ static int __init init_pit_clocksource(void)
	return clocksource_register(&clocksource_pit);
	return clocksource_register(&clocksource_pit);
}
}
arch_initcall(init_pit_clocksource);
arch_initcall(init_pit_clocksource);

#endif
+4 −2
Original line number Original line Diff line number Diff line
#ifndef __ASM_I8253_H__
#ifndef __ASM_I8253_H__
#define __ASM_I8253_H__
#define __ASM_I8253_H__


#include <linux/clockchips.h>

/* i8253A PIT registers */
/* i8253A PIT registers */
#define PIT_MODE		0x43
#define PIT_MODE		0x43
#define PIT_CH0			0x40
#define PIT_CH0			0x40
@@ -10,8 +8,12 @@


extern spinlock_t i8253_lock;
extern spinlock_t i8253_lock;


#ifdef CONFIG_GENERIC_CLOCKEVENTS

extern struct clock_event_device *global_clock_event;
extern struct clock_event_device *global_clock_event;


extern void setup_pit_timer(void);
extern void setup_pit_timer(void);


#endif

#endif	/* __ASM_I8253_H__ */
#endif	/* __ASM_I8253_H__ */