git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sparc64: Fix missing devices due to PCI bridge test in of_create_pci_dev().
[pandora-kernel.git]
/
kernel
/
time
/
tick-common.c
diff --git
a/kernel/time/tick-common.c
b/kernel/time/tick-common.c
index
bf43284
..
c477719
100644
(file)
--- a/
kernel/time/tick-common.c
+++ b/
kernel/time/tick-common.c
@@
-161,6
+161,7
@@
static void tick_setup_device(struct tick_device *td,
} else {
handler = td->evtdev->event_handler;
next_event = td->evtdev->next_event;
} else {
handler = td->evtdev->event_handler;
next_event = td->evtdev->next_event;
+ td->evtdev->event_handler = clockevents_handle_noop;
}
td->evtdev = newdev;
}
td->evtdev = newdev;
@@
-196,12
+197,10
@@
static int tick_check_new_device(struct clock_event_device *newdev)
struct tick_device *td;
int cpu, ret = NOTIFY_OK;
unsigned long flags;
struct tick_device *td;
int cpu, ret = NOTIFY_OK;
unsigned long flags;
- cpumask_of_cpu_ptr_declare(cpumask);
spin_lock_irqsave(&tick_device_lock, flags);
cpu = smp_processor_id();
spin_lock_irqsave(&tick_device_lock, flags);
cpu = smp_processor_id();
- cpumask_of_cpu_ptr_next(cpumask, cpu);
if (!cpu_isset(cpu, newdev->cpumask))
goto out_bc;
if (!cpu_isset(cpu, newdev->cpumask))
goto out_bc;
@@
-209,7
+208,7
@@
static int tick_check_new_device(struct clock_event_device *newdev)
curdev = td->evtdev;
/* cpu local device ? */
curdev = td->evtdev;
/* cpu local device ? */
- if (!cpus_equal(newdev->cpumask,
*cpumask
)) {
+ if (!cpus_equal(newdev->cpumask,
cpumask_of_cpu(cpu)
)) {
/*
* If the cpu affinity of the device interrupt can not
/*
* If the cpu affinity of the device interrupt can not
@@
-222,7
+221,7
@@
static int tick_check_new_device(struct clock_event_device *newdev)
* If we have a cpu local device already, do not replace it
* by a non cpu local device
*/
* If we have a cpu local device already, do not replace it
* by a non cpu local device
*/
- if (curdev && cpus_equal(curdev->cpumask,
*cpumask
))
+ if (curdev && cpus_equal(curdev->cpumask,
cpumask_of_cpu(cpu)
))
goto out_bc;
}
goto out_bc;
}
@@
-254,7
+253,7
@@
static int tick_check_new_device(struct clock_event_device *newdev)
curdev = NULL;
}
clockevents_exchange_device(curdev, newdev);
curdev = NULL;
}
clockevents_exchange_device(curdev, newdev);
- tick_setup_device(td, newdev, cpu,
cpumask
);
+ tick_setup_device(td, newdev, cpu,
&cpumask_of_cpu(cpu)
);
if (newdev->features & CLOCK_EVT_FEAT_ONESHOT)
tick_oneshot_notify();
if (newdev->features & CLOCK_EVT_FEAT_ONESHOT)
tick_oneshot_notify();