1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __ASM_IDLE_H
3#define __ASM_IDLE_H
4
5#include <linux/cpuidle.h>
6#include <linux/linkage.h>
7
8extern void (*cpu_wait)(void);
9extern void r4k_wait(void);
10extern asmlinkage void __r4k_wait(void);
11extern void r4k_wait_irqoff(void);
12
13static inline int using_rollback_handler(void)
14{
15	return cpu_wait == r4k_wait;
16}
17
18extern void __init check_wait(void);
19
20extern int mips_cpuidle_wait_enter(struct cpuidle_device *dev,
21				   struct cpuidle_driver *drv, int index);
22
23#define MIPS_CPUIDLE_WAIT_STATE {\
24	.enter			= mips_cpuidle_wait_enter,\
25	.exit_latency		= 1,\
26	.target_residency	= 1,\
27	.power_usage		= UINT_MAX,\
28	.name			= "wait",\
29	.desc			= "MIPS wait",\
30}
31
32#endif /* __ASM_IDLE_H  */
33