1b2d54669SAndrew Jones /* SPDX-License-Identifier: GPL-2.0-only */ 2b2d54669SAndrew Jones #ifndef _ON_CPUS_H_ 3b2d54669SAndrew Jones #define _ON_CPUS_H_ 4b2d54669SAndrew Jones #include <stdbool.h> 5*d012cfd5SAndrew Jones #include <cpumask.h> 6b2d54669SAndrew Jones 7b2d54669SAndrew Jones extern bool cpu0_calls_idle; 8b2d54669SAndrew Jones 9b2d54669SAndrew Jones void do_idle(void); 10b2d54669SAndrew Jones 11b2d54669SAndrew Jones void on_cpu_async(int cpu, void (*func)(void *data), void *data); 12b2d54669SAndrew Jones void on_cpu(int cpu, void (*func)(void *data), void *data); 13b2d54669SAndrew Jones void on_cpus(void (*func)(void *data), void *data); 14*d012cfd5SAndrew Jones void on_cpumask_async(const cpumask_t *mask, void (*func)(void *data), void *data); 15*d012cfd5SAndrew Jones void on_cpumask(const cpumask_t *mask, void (*func)(void *data), void *data); 16b2d54669SAndrew Jones 17b2d54669SAndrew Jones #endif /* _ON_CPUS_H_ */ 18