History

Merge branch 'pm-cpuidle'

* pm-cpuidle: (27 commits) intel_idle: Clean up irtl_2_usec() intel_idle: Move 3 functions closer to their callers intel_idle: Annotate initialization code and data structures intel_idle: Move and clean up intel_idle_cpuidle_devices_uninit() intel_idle: Rearrange intel_idle_cpuidle_driver_init() intel_idle: Clean up NULL pointer check in intel_idle_init() intel_idle: Fold intel_idle_probe() into intel_idle_init() intel_idle: Eliminate __setup_broadcast_timer() cpuidle: fix cpuidle_find_deepest_state() kerneldoc warnings cpuidle: sysfs: fix warnings when compiling with W=1 cpuidle: coupled: fix warnings when compiling with W=1 Documentation: admin-guide: PM: Add intel_idle document cpuidle: arm: Enable compile testing for some of drivers cpuidle: Drop unused cpuidle_driver_ref/unref() functions intel_idle: Use ACPI _CST on server systems intel_idle: Add module parameter to prevent ACPI _CST from being used intel_idle: Allow ACPI _CST to be used for selected known processors cpuidle: Allow idle states to be disabled by default intel_idle: Use ACPI _CST for processor models without C-state tables intel_idle: Refactor intel_idle_cpuidle_driver_init() ...

Rafael J. Wysocki committed 6 years ago

Commit 5b82ba72 parents 3a83c8c 86e946617 files · +836 −382Browse files

Showing the changes to include/linux (2 of 17 files). Show all

Unified · Split

2 files
  1. include/linux/acpi.h +15 −0
  2. include/linux/cpuidle.h +1 −5
include/linux/acpi.h+15−0
@@ -279,6 +279,21 @@ static inline bool invalid_phys_cpuid(phys_cpuid_t phys_id) · 278 unmodified lines
279 279
280/* Validate the processor object's proc_id */280/* Validate the processor object's proc_id */
281bool acpi_duplicate_processor_id(int proc_id);281bool acpi_duplicate_processor_id(int proc_id);
282/* Processor _CTS control */
283struct acpi_processor_power;
284
285#ifdef CONFIG_ACPI_PROCESSOR_CSTATE
286bool acpi_processor_claim_cst_control(void);
287int acpi_processor_evaluate_cst(acpi_handle handle, u32 cpu,
288 struct acpi_processor_power *info);
289#else
290static inline bool acpi_processor_claim_cst_control(void) { return false; }
291static inline int acpi_processor_evaluate_cst(acpi_handle handle, u32 cpu,
292 struct acpi_processor_power *info)
293{
294 return -ENODEV;
295}
296#endif
282 297
283#ifdef CONFIG_ACPI_HOTPLUG_CPU298#ifdef CONFIG_ACPI_HOTPLUG_CPU
284/* Arch dependent functions for cpu hotplug support */299/* Arch dependent functions for cpu hotplug support */
include/linux/cpuidle.h+1−5
@@ -77,6 +77,7 @@ struct cpuidle_state { · 76 unmodified lines
77#define CPUIDLE_FLAG_COUPLED BIT(1) /* state applies to multiple cpus */77#define CPUIDLE_FLAG_COUPLED BIT(1) /* state applies to multiple cpus */
78#define CPUIDLE_FLAG_TIMER_STOP BIT(2) /* timer is stopped on this state */78#define CPUIDLE_FLAG_TIMER_STOP BIT(2) /* timer is stopped on this state */
79#define CPUIDLE_FLAG_UNUSABLE BIT(3) /* avoid using this state */79#define CPUIDLE_FLAG_UNUSABLE BIT(3) /* avoid using this state */
80#define CPUIDLE_FLAG_OFF BIT(4) /* disable this state by default */
80 81
81struct cpuidle_device_kobj;82struct cpuidle_device_kobj;
82struct cpuidle_state_kobj;83struct cpuidle_state_kobj;
@@ -115,7 +116,6 @@ DECLARE_PER_CPU(struct cpuidle_device, cpuidle_dev); · 32 unmodified lines
115struct cpuidle_driver {116struct cpuidle_driver {
116 const char *name;117 const char *name;
117 struct module *owner;118 struct module *owner;
118 int refcnt;
119 119
120 /* used by the cpuidle framework to setup the broadcast timer */120 /* used by the cpuidle framework to setup the broadcast timer */
121 unsigned int bctimer:1;121 unsigned int bctimer:1;
@@ -147,8 +147,6 @@ extern u64 cpuidle_poll_time(struct cpuidle_driver *drv, · 25 unmodified lines
147 147
148extern int cpuidle_register_driver(struct cpuidle_driver *drv);148extern int cpuidle_register_driver(struct cpuidle_driver *drv);
149extern struct cpuidle_driver *cpuidle_get_driver(void);149extern struct cpuidle_driver *cpuidle_get_driver(void);
150extern struct cpuidle_driver *cpuidle_driver_ref(void);
151extern void cpuidle_driver_unref(void);
152extern void cpuidle_driver_state_disabled(struct cpuidle_driver *drv, int idx,150extern void cpuidle_driver_state_disabled(struct cpuidle_driver *drv, int idx,
153 bool disable);151 bool disable);
154extern void cpuidle_unregister_driver(struct cpuidle_driver *drv);152extern void cpuidle_unregister_driver(struct cpuidle_driver *drv);
@@ -186,8 +184,6 @@ static inline u64 cpuidle_poll_time(struct cpuidle_driver *drv, · 31 unmodified lines
186static inline int cpuidle_register_driver(struct cpuidle_driver *drv)184static inline int cpuidle_register_driver(struct cpuidle_driver *drv)
187{return -ENODEV; }185{return -ENODEV; }
188static inline struct cpuidle_driver *cpuidle_get_driver(void) {return NULL; }186static inline struct cpuidle_driver *cpuidle_get_driver(void) {return NULL; }
189static inline struct cpuidle_driver *cpuidle_driver_ref(void) {return NULL; }
190static inline void cpuidle_driver_unref(void) {}
191static inline void cpuidle_driver_state_disabled(struct cpuidle_driver *drv,187static inline void cpuidle_driver_state_disabled(struct cpuidle_driver *drv,
192 int idx, bool disable) { }188 int idx, bool disable) { }
193static inline void cpuidle_unregister_driver(struct cpuidle_driver *drv) { }189static inline void cpuidle_unregister_driver(struct cpuidle_driver *drv) { }