Skip to content

Commit

Permalink
i8253: Consolidate all kernel definitions of i8253_lock
Browse files Browse the repository at this point in the history
Move them to drivers/clocksource/i8253.c and remove the
implementations in arch/

[ tglx: Avoid the extra file in lib - folded arch patches in. The
  export will become conditional in a later step ]

Signed-off-by: Ralf Baechle <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Cc: Russell King <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
  • Loading branch information
ralfbaechle authored and KAGA-KOKO committed Jun 9, 2011
1 parent cb2455a commit 15f304b
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 10 deletions.
2 changes: 0 additions & 2 deletions arch/arm/mach-footbridge/isa-timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@

#include "common.h"

DEFINE_RAW_SPINLOCK(i8253_lock);

static void pit_set_mode(enum clock_event_mode mode,
struct clock_event_device *evt)
{
Expand Down
3 changes: 0 additions & 3 deletions arch/mips/kernel/i8253.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@
#include <asm/io.h>
#include <asm/time.h>

DEFINE_RAW_SPINLOCK(i8253_lock);
EXPORT_SYMBOL(i8253_lock);

/*
* Initialize the PIT timer.
*
Expand Down
1 change: 1 addition & 0 deletions arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ config X86
select IRQ_FORCED_THREADING
select USE_GENERIC_SMP_HELPERS if SMP
select HAVE_BPF_JIT if (X86_64 && NET)
select I8253_LOCK

config INSTRUCTION_DECODER
def_bool (KPROBES || PERF_EVENTS)
Expand Down
3 changes: 0 additions & 3 deletions arch/x86/kernel/i8253.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@
#include <asm/hpet.h>
#include <asm/smp.h>

DEFINE_RAW_SPINLOCK(i8253_lock);
EXPORT_SYMBOL(i8253_lock);

/*
* HPET replaces the PIT, when enabled. So we need to know, which of
* the two timers is used
Expand Down
6 changes: 6 additions & 0 deletions drivers/clocksource/Kconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
config CLKSRC_I8253
bool

config I8253_LOCK
bool

config CLKBLD_I8253
def_bool y if CLKSRC_I8253 || I8253_LOCK

config CLKSRC_MMIO
bool
2 changes: 1 addition & 1 deletion drivers/clocksource/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ obj-$(CONFIG_CS5535_CLOCK_EVENT_SRC) += cs5535-clockevt.o
obj-$(CONFIG_SH_TIMER_CMT) += sh_cmt.o
obj-$(CONFIG_SH_TIMER_MTU2) += sh_mtu2.o
obj-$(CONFIG_SH_TIMER_TMU) += sh_tmu.o
obj-$(CONFIG_CLKSRC_I8253) += i8253.o
obj-$(CONFIG_CLKBLD_I8253) += i8253.o
obj-$(CONFIG_CLKSRC_MMIO) += mmio.o
13 changes: 12 additions & 1 deletion drivers/clocksource/i8253.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,19 @@
#include <linux/io.h>
#include <linux/spinlock.h>
#include <linux/timex.h>

#include <linux/module.h>
#include <linux/i8253.h>

/*
* Protects access to I/O ports
*
* 0040-0043 : timer0, i8253 / i8254
* 0061-0061 : NMI Control Register which contains two speaker control bits.
*/
DEFINE_RAW_SPINLOCK(i8253_lock);
EXPORT_SYMBOL(i8253_lock);

#ifdef CONFIG_CLKSRC_I8253
/*
* Since the PIT overflows every tick, its not very useful
* to just read by itself. So use jiffies to emulate a free
Expand Down Expand Up @@ -86,3 +96,4 @@ int __init clocksource_i8253_init(void)
{
return clocksource_register_hz(&i8253_cs, PIT_TICK_RATE);
}
#endif
1 change: 1 addition & 0 deletions init/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1002,6 +1002,7 @@ config ELF_CORE
config PCSPKR_PLATFORM
bool "Enable PC-Speaker support" if EXPERT
depends on ALPHA || X86 || MIPS || PPC_PREP || PPC_CHRP || PPC_PSERIES
select I8253_LOCK
default y
help
This option allows to disable the internal PC-Speaker
Expand Down

0 comments on commit 15f304b

Please sign in to comment.