/* Like smp_call_function_single(), but allow caller to pass in a pre-allocated data structure. Useful for embedding @data inside other structures, for instance.  */
void __smp_call_function_single(int cpu, struct call_single_data *data, int wait)
/* Like smp_call_function_single(), but allow caller to pass in a pre-allocated data structure. Useful for embedding @data inside other structures, for instance.  */
void __smp_call_function_single(int cpu, struct call_single_data *data, int wait)
{
	csd_lock(data);
	WARN_ON_ONCE(cpu_online(smp_processor_id()) && wait && irqs_disabled()
		     && !oops_in_progress);
	generic_exec_single(cpu, data, wait);
}