Loading...
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 int mips_cpuidle_wait_enter(struct cpuidle_device *dev,
19 struct cpuidle_driver *drv, int index);
20
21#define MIPS_CPUIDLE_WAIT_STATE {\
22 .enter = mips_cpuidle_wait_enter,\
23 .exit_latency = 1,\
24 .target_residency = 1,\
25 .power_usage = UINT_MAX,\
26 .name = "wait",\
27 .desc = "MIPS wait",\
28}
29
30#endif /* __ASM_IDLE_H */
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 */