]> Git Repo - J-linux.git/blob - include/linux/acpi_pmtmr.h
Merge tag 'vfs-6.13-rc7.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
[J-linux.git] / include / linux / acpi_pmtmr.h
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
18 extern u32 acpi_pm_read_verified(void);
19 extern u32 pmtmr_ioport;
20
21 static 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  */
35 void 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  */
40 void acpi_pmtmr_unregister_suspend_resume_callback(void);
41
42 #else
43
44 static inline u32 acpi_pm_read_early(void)
45 {
46         return 0;
47 }
48
49 #endif
50
51 #endif
52
This page took 0.02911 seconds and 4 git commands to generate.