Re: [PATCH 2/7] new timeofday i386 arch specific changes, part 1 (v. B4)
Sorry about that, the subject should have been: [RFC][PATCH 2/6] new timeofday i386 arch specific changes, part 1 (v. B4) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 2/7] new timeofday i386 arch specific changes, part 1 (v. B4)
All, The conversion of i386 to use the new timeofday subsystem has been split into 4 parts. This patch, the first of four, is just a simple cleanup for the i386 arch in preperation of moving the the new timeofday infrastructure. It simply moves some code from timer_pit.c to i8259.c. It applies on top of my timeofday-core patch. This patch is part the timeofday-arch-i386 patchset, so without the following parts it is not expected to compile (although just this one should). thanks -john linux-2.6.13-rc3_timeofday-arch-i386-part1_B4.patch diff --git a/arch/i386/kernel/i8259.c b/arch/i386/kernel/i8259.c --- a/arch/i386/kernel/i8259.c +++ b/arch/i386/kernel/i8259.c @@ -24,6 +24,7 @@ #include #include #include +#include #include @@ -399,6 +400,45 @@ void __init init_ISA_irqs (void) } } +void setup_pit_timer(void) +{ + unsigned long flags; + + spin_lock_irqsave(_lock, flags); + outb_p(0x34,PIT_MODE); /* binary, mode 2, LSB/MSB, ch 0 */ + udelay(10); + outb_p(LATCH & 0xff , PIT_CH0); /* LSB */ + udelay(10); + outb(LATCH >> 8 , PIT_CH0); /* MSB */ + spin_unlock_irqrestore(_lock, flags); +} + +static int timer_resume(struct sys_device *dev) +{ + setup_pit_timer(); + return 0; +} + +static struct sysdev_class timer_sysclass = { + set_kset_name("timer_pit"), + .resume = timer_resume, +}; + +static struct sys_device device_timer = { + .id = 0, + .cls= _sysclass, +}; + +static int __init init_timer_sysfs(void) +{ + int error = sysdev_class_register(_sysclass); + if (!error) + error = sysdev_register(_timer); + return error; +} + +device_initcall(init_timer_sysfs); + void __init init_IRQ(void) { int i; diff --git a/arch/i386/kernel/timers/timer_pit.c b/arch/i386/kernel/timers/timer_pit.c --- a/arch/i386/kernel/timers/timer_pit.c +++ b/arch/i386/kernel/timers/timer_pit.c @@ -162,43 +162,3 @@ struct init_timer_opts __initdata timer_ .init = init_pit, .opts = _pit, }; - -void setup_pit_timer(void) -{ - unsigned long flags; - - spin_lock_irqsave(_lock, flags); - outb_p(0x34,PIT_MODE); /* binary, mode 2, LSB/MSB, ch 0 */ - udelay(10); - outb_p(LATCH & 0xff , PIT_CH0); /* LSB */ - udelay(10); - outb(LATCH >> 8 , PIT_CH0); /* MSB */ - spin_unlock_irqrestore(_lock, flags); -} - -static int timer_resume(struct sys_device *dev) -{ - setup_pit_timer(); - return 0; -} - -static struct sysdev_class timer_sysclass = { - set_kset_name("timer_pit"), - .resume = timer_resume, -}; - -static struct sys_device device_timer = { - .id = 0, - .cls= _sysclass, -}; - -static int __init init_timer_sysfs(void) -{ - int error = sysdev_class_register(_sysclass); - if (!error) - error = sysdev_register(_timer); - return error; -} - -device_initcall(init_timer_sysfs); - - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 2/7] new timeofday i386 arch specific changes, part 1 (v. B4)
All, The conversion of i386 to use the new timeofday subsystem has been split into 4 parts. This patch, the first of four, is just a simple cleanup for the i386 arch in preperation of moving the the new timeofday infrastructure. It simply moves some code from timer_pit.c to i8259.c. It applies on top of my timeofday-core patch. This patch is part the timeofday-arch-i386 patchset, so without the following parts it is not expected to compile (although just this one should). thanks -john linux-2.6.13-rc3_timeofday-arch-i386-part1_B4.patch diff --git a/arch/i386/kernel/i8259.c b/arch/i386/kernel/i8259.c --- a/arch/i386/kernel/i8259.c +++ b/arch/i386/kernel/i8259.c @@ -24,6 +24,7 @@ #include asm/apic.h #include asm/arch_hooks.h #include asm/i8259.h +#include asm/i8253.h #include linux/irq.h @@ -399,6 +400,45 @@ void __init init_ISA_irqs (void) } } +void setup_pit_timer(void) +{ + unsigned long flags; + + spin_lock_irqsave(i8253_lock, flags); + outb_p(0x34,PIT_MODE); /* binary, mode 2, LSB/MSB, ch 0 */ + udelay(10); + outb_p(LATCH 0xff , PIT_CH0); /* LSB */ + udelay(10); + outb(LATCH 8 , PIT_CH0); /* MSB */ + spin_unlock_irqrestore(i8253_lock, flags); +} + +static int timer_resume(struct sys_device *dev) +{ + setup_pit_timer(); + return 0; +} + +static struct sysdev_class timer_sysclass = { + set_kset_name(timer_pit), + .resume = timer_resume, +}; + +static struct sys_device device_timer = { + .id = 0, + .cls= timer_sysclass, +}; + +static int __init init_timer_sysfs(void) +{ + int error = sysdev_class_register(timer_sysclass); + if (!error) + error = sysdev_register(device_timer); + return error; +} + +device_initcall(init_timer_sysfs); + void __init init_IRQ(void) { int i; diff --git a/arch/i386/kernel/timers/timer_pit.c b/arch/i386/kernel/timers/timer_pit.c --- a/arch/i386/kernel/timers/timer_pit.c +++ b/arch/i386/kernel/timers/timer_pit.c @@ -162,43 +162,3 @@ struct init_timer_opts __initdata timer_ .init = init_pit, .opts = timer_pit, }; - -void setup_pit_timer(void) -{ - unsigned long flags; - - spin_lock_irqsave(i8253_lock, flags); - outb_p(0x34,PIT_MODE); /* binary, mode 2, LSB/MSB, ch 0 */ - udelay(10); - outb_p(LATCH 0xff , PIT_CH0); /* LSB */ - udelay(10); - outb(LATCH 8 , PIT_CH0); /* MSB */ - spin_unlock_irqrestore(i8253_lock, flags); -} - -static int timer_resume(struct sys_device *dev) -{ - setup_pit_timer(); - return 0; -} - -static struct sysdev_class timer_sysclass = { - set_kset_name(timer_pit), - .resume = timer_resume, -}; - -static struct sys_device device_timer = { - .id = 0, - .cls= timer_sysclass, -}; - -static int __init init_timer_sysfs(void) -{ - int error = sysdev_class_register(timer_sysclass); - if (!error) - error = sysdev_register(device_timer); - return error; -} - -device_initcall(init_timer_sysfs); - - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 2/7] new timeofday i386 arch specific changes, part 1 (v. B4)
Sorry about that, the subject should have been: [RFC][PATCH 2/6] new timeofday i386 arch specific changes, part 1 (v. B4) - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/