include/acpi/processor.h
Source file repositories/reference/linux-study-clean/include/acpi/processor.h
File Facts
- System
- Linux kernel
- Corpus path
include/acpi/processor.h- Extension
.h- Size
- 12032 bytes
- Lines
- 452
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: operation-table or driver-model contract
- Status
- pattern implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines an operation table; this is where Linux turns generic core objects into subsystem-specific behavior.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/cpu.hlinux/cpufreq.hlinux/pm_qos.hlinux/printk.hlinux/sched.hlinux/smp.hlinux/thermal.hlinux/types.hlinux/workqueue.hasm/acpi.h
Detected Declarations
struct acpi_processor_cxstruct acpi_power_registerstruct acpi_processor_cxstruct acpi_lpi_statestruct acpi_processor_powerstruct acpi_psd_packagestruct acpi_pct_registerstruct acpi_processor_pxstruct acpi_processor_performancestruct acpi_tsd_packagestruct acpi_ptc_registerstruct acpi_processor_tx_tssstruct acpi_processor_txstruct acpi_processorstruct acpi_processor_throttlingstruct acpi_processor_lxstruct acpi_processor_limitstruct acpi_processor_flagsstruct acpi_processorstruct acpi_processor_erratafunction acpi_processor_power_init_bm_checkfunction acpi_processor_ffh_cstate_probefunction acpi_processor_ffh_cstate_enterfunction acpi_processor_ffh_play_deadfunction call_on_cpufunction acpi_processor_ignore_ppc_initfunction acpi_processor_ppc_initfunction acpi_processor_ppc_exitfunction acpi_processor_ppc_has_changedfunction acpi_processor_get_bios_limitfunction acpi_cppc_processor_probefunction acpi_cppc_processor_exitfunction acpi_processor_tstate_has_changedfunction acpi_processor_get_throttling_infofunction acpi_processor_set_throttlingfunction acpi_processor_reevaluate_tstatefunction acpi_thermal_cpufreq_initfunction acpi_thermal_cpufreq_exit
Annotated Snippet
extern const struct file_operations acpi_processor_throttling_fops;
extern void acpi_processor_throttling_init(void);
#else
static inline int acpi_processor_tstate_has_changed(struct acpi_processor *pr)
{
return 0;
}
static inline int acpi_processor_get_throttling_info(struct acpi_processor *pr)
{
return -ENODEV;
}
static inline int acpi_processor_set_throttling(struct acpi_processor *pr,
int state, bool force)
{
return -ENODEV;
}
static inline void acpi_processor_reevaluate_tstate(struct acpi_processor *pr,
bool is_dead) {}
static inline void acpi_processor_throttling_init(void) {}
#endif /* CONFIG_ACPI_CPU_FREQ_PSS */
/* in processor_idle.c */
#ifdef CONFIG_ACPI_PROCESSOR_IDLE
void acpi_processor_power_init(struct acpi_processor *pr);
void acpi_processor_power_exit(struct acpi_processor *pr);
int acpi_processor_power_state_has_changed(struct acpi_processor *pr);
int acpi_processor_hotplug(struct acpi_processor *pr);
void acpi_processor_register_idle_driver(void);
void acpi_processor_unregister_idle_driver(void);
int acpi_processor_ffh_lpi_probe(unsigned int cpu);
int acpi_processor_ffh_lpi_enter(struct acpi_lpi_state *lpi);
#endif /* CONFIG_ACPI_PROCESSOR_IDLE */
/* in processor_thermal.c */
int acpi_processor_thermal_init(struct acpi_processor *pr,
struct acpi_device *device);
void acpi_processor_thermal_exit(struct acpi_processor *pr,
struct acpi_device *device);
extern const struct thermal_cooling_device_ops processor_cooling_ops;
#ifdef CONFIG_CPU_FREQ
void acpi_thermal_cpufreq_init(struct cpufreq_policy *policy);
void acpi_thermal_cpufreq_exit(struct cpufreq_policy *policy);
#else
static inline void acpi_thermal_cpufreq_init(struct cpufreq_policy *policy)
{
return;
}
static inline void acpi_thermal_cpufreq_exit(struct cpufreq_policy *policy)
{
return;
}
#endif /* CONFIG_CPU_FREQ */
void acpi_processor_init_invariance_cppc(void);
#endif
Annotation
- Immediate include surface: `linux/cpu.h`, `linux/cpufreq.h`, `linux/pm_qos.h`, `linux/printk.h`, `linux/sched.h`, `linux/smp.h`, `linux/thermal.h`, `linux/types.h`.
- Detected declarations: `struct acpi_processor_cx`, `struct acpi_power_register`, `struct acpi_processor_cx`, `struct acpi_lpi_state`, `struct acpi_processor_power`, `struct acpi_psd_package`, `struct acpi_pct_register`, `struct acpi_processor_px`, `struct acpi_processor_performance`, `struct acpi_tsd_package`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: pattern implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.