/* * Powerstate information: The system enters/leaves a state, where * affected devices might stop. */ void tick_broadcast_on_off(unsigned long reason, int *oncpu) { if (!cpumask_test_cpu(*oncpu, cpu_online_mask)) printk(KERN_ERR "tick-broadcast: ignoring broadcast for " "offline CPU #%d\n", *oncpu); else tick_do_broadcast_on_off(&reason); }
/* * Powerstate information: The system enters/leaves a state, where * affected devices might stop. */ void tick_broadcast_on_off(unsigned long reason, int *oncpu) { int cpu = get_cpu(); if (cpu == *oncpu) tick_do_broadcast_on_off(&reason); else smp_call_function_single(*oncpu, tick_do_broadcast_on_off, &reason, 1, 1); put_cpu(); }