root/drivers/cpuidle/cpuidle.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. cpuidle_state_is_coupled
  2. cpuidle_coupled_state_verify
  3. cpuidle_enter_state_coupled
  4. cpuidle_coupled_register_device
  5. cpuidle_coupled_unregister_device

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * cpuidle.h - The internal header file
   4  */
   5 
   6 #ifndef __DRIVER_CPUIDLE_H
   7 #define __DRIVER_CPUIDLE_H
   8 
   9 /* For internal use only */
  10 extern char param_governor[];
  11 extern struct cpuidle_governor *cpuidle_curr_governor;
  12 extern struct cpuidle_governor *cpuidle_prev_governor;
  13 extern struct list_head cpuidle_governors;
  14 extern struct list_head cpuidle_detected_devices;
  15 extern struct mutex cpuidle_lock;
  16 extern spinlock_t cpuidle_driver_lock;
  17 extern int cpuidle_disabled(void);
  18 extern int cpuidle_enter_state(struct cpuidle_device *dev,
  19                 struct cpuidle_driver *drv, int next_state);
  20 
  21 /* idle loop */
  22 extern void cpuidle_install_idle_handler(void);
  23 extern void cpuidle_uninstall_idle_handler(void);
  24 
  25 /* governors */
  26 extern struct cpuidle_governor *cpuidle_find_governor(const char *str);
  27 extern int cpuidle_switch_governor(struct cpuidle_governor *gov);
  28 
  29 /* sysfs */
  30 
  31 struct device;
  32 
  33 extern int cpuidle_add_interface(struct device *dev);
  34 extern void cpuidle_remove_interface(struct device *dev);
  35 extern int cpuidle_add_device_sysfs(struct cpuidle_device *device);
  36 extern void cpuidle_remove_device_sysfs(struct cpuidle_device *device);
  37 extern int cpuidle_add_sysfs(struct cpuidle_device *dev);
  38 extern void cpuidle_remove_sysfs(struct cpuidle_device *dev);
  39 
  40 #ifdef CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED
  41 bool cpuidle_state_is_coupled(struct cpuidle_driver *drv, int state);
  42 int cpuidle_coupled_state_verify(struct cpuidle_driver *drv);
  43 int cpuidle_enter_state_coupled(struct cpuidle_device *dev,
  44                 struct cpuidle_driver *drv, int next_state);
  45 int cpuidle_coupled_register_device(struct cpuidle_device *dev);
  46 void cpuidle_coupled_unregister_device(struct cpuidle_device *dev);
  47 #else
  48 static inline
  49 bool cpuidle_state_is_coupled(struct cpuidle_driver *drv, int state)
  50 {
  51         return false;
  52 }
  53 
  54 static inline int cpuidle_coupled_state_verify(struct cpuidle_driver *drv)
  55 {
  56         return 0;
  57 }
  58 
  59 static inline int cpuidle_enter_state_coupled(struct cpuidle_device *dev,
  60                 struct cpuidle_driver *drv, int next_state)
  61 {
  62         return -1;
  63 }
  64 
  65 static inline int cpuidle_coupled_register_device(struct cpuidle_device *dev)
  66 {
  67         return 0;
  68 }
  69 
  70 static inline void cpuidle_coupled_unregister_device(struct cpuidle_device *dev)
  71 {
  72 }
  73 #endif
  74 
  75 #endif /* __DRIVER_CPUIDLE_H */

/* [<][>][^][v][top][bottom][index][help] */