File Index
Files and directories
Sign in
FILE

acpi_pmtmr.h

File preview with syntax highlighting.

linux-6.19.14/include/linux/acpi_pmtmr.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef _ACPI_PMTMR_H_
 3#define _ACPI_PMTMR_H_
 4
 5#include <linux/clocksource.h>
 6
 7/* Number of PMTMR ticks expected during calibration run */
 8#define PMTMR_TICKS_PER_SEC 3579545
 9
10/* limit it to 24 bits */
11#define ACPI_PM_MASK CLOCKSOURCE_MASK(24)
12
13/* Overrun value */
14#define ACPI_PM_OVRRUN	(1<<24)
15
16#ifdef CONFIG_X86_PM_TIMER
17
18extern u32 acpi_pm_read_verified(void);
19extern u32 pmtmr_ioport;
20
21static inline u32 acpi_pm_read_early(void)
22{
23	if (!pmtmr_ioport)
24		return 0;
25	/* mask the output to 24 bits */
26	return acpi_pm_read_verified() & ACPI_PM_MASK;
27}
28
29/**
30 * Register callback for suspend and resume event
31 *
32 * @cb Callback triggered on suspend and resume
33 * @data Data passed with the callback
34 */
35void acpi_pmtmr_register_suspend_resume_callback(void (*cb)(void *data, bool suspend), void *data);
36
37/**
38 * Remove registered callback for suspend and resume event
39 */
40void acpi_pmtmr_unregister_suspend_resume_callback(void);
41
42#else
43
44static inline u32 acpi_pm_read_early(void)
45{
46	return 0;
47}
48
49#endif
50
51#endif
52
~/ Read-only file preview.