From: Leonardo de Sá Alt on 16 Jun 2010 11:00 Hi Venki, here the new patch with the changes you requested. Thanks. The hpet_work_struct has a delayed_work (field work), but it doesn't use delay. So this field type was changed for work_struct, and its utilizations as delayed_work were adapted to work_struct. Signed-off-by: Leonardo de Sá Alt <leonardoaltt(a)gmail.com> --- arch/x86/kernel/hpet.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c index a198b7c..b05935f 100644 --- a/arch/x86/kernel/hpet.c +++ b/arch/x86/kernel/hpet.c @@ -696,7 +696,7 @@ static struct hpet_dev *hpet_get_unused_timer(void) } struct hpet_work_struct { - struct delayed_work work; + struct work_struct work; struct completion complete; }; @@ -706,7 +706,7 @@ static void hpet_work(struct work_struct *w) int cpu = smp_processor_id(); struct hpet_work_struct *hpet_work; - hpet_work = container_of(w, struct hpet_work_struct, work.work); + hpet_work = container_of(w, struct hpet_work_struct, work); hdev = hpet_get_unused_timer(); if (hdev) @@ -724,12 +724,10 @@ static int hpet_cpuhp_notify(struct notifier_block *n, switch (action & 0xf) { case CPU_ONLINE: - INIT_DELAYED_WORK_ON_STACK(&work.work, hpet_work); + INIT_WORK_ON_STACK(&work.work, hpet_work); init_completion(&work.complete); - /* FIXME: add schedule_work_on() */ - schedule_delayed_work_on(cpu, &work.work, 0); + schedule_work_on(cpu, &work.work); wait_for_completion(&work.complete); - destroy_timer_on_stack(&work.work.timer); break; case CPU_DEAD: if (hdev) { -- 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Pages: 1 Prev: percpu in linux-2.6.35-rc3 Next: oom: oom_kill_process() doesn't select kthread child |