|
@@ -157,7 +157,10 @@ int tick_device_uses_broadcast(struct clock_event_device *dev, int cpu)
|
|
dev->event_handler = tick_handle_periodic;
|
|
dev->event_handler = tick_handle_periodic;
|
|
tick_device_setup_broadcast_func(dev);
|
|
tick_device_setup_broadcast_func(dev);
|
|
cpumask_set_cpu(cpu, tick_broadcast_mask);
|
|
cpumask_set_cpu(cpu, tick_broadcast_mask);
|
|
- tick_broadcast_start_periodic(bc);
|
|
|
|
|
|
+ if (tick_broadcast_device.mode == TICKDEV_MODE_PERIODIC)
|
|
|
|
+ tick_broadcast_start_periodic(bc);
|
|
|
|
+ else
|
|
|
|
+ tick_broadcast_setup_oneshot(bc);
|
|
ret = 1;
|
|
ret = 1;
|
|
} else {
|
|
} else {
|
|
/*
|
|
/*
|