Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455/* SPDX-License-Identifier: GPL-2.0 */#ifndef _ACPI_PMTMR_H_#define _ACPI_PMTMR_H_
#include <linux/clocksource.h>
/* Number of PMTMR ticks expected during calibration run */#define PMTMR_TICKS_PER_SEC 3579545
/* limit it to 24 bits */#define ACPI_PM_MASK CLOCKSOURCE_MASK(24)
/* Overrun value */#define ACPI_PM_OVRRUN (1<<24)
#ifdef CONFIG_X86_PM_TIMER
extern u32 acpi_pm_read_verified(void);extern u32 pmtmr_ioport;
static inline u32 acpi_pm_read_early(void){ if (!pmtmr_ioport) return 0; /* mask the output to 24 bits */ return acpi_pm_read_verified() & ACPI_PM_MASK;}
/** * acpi_pmtmr_register_suspend_resume_callback - Register callback for * suspend and resume event * * @cb: Callback triggered on suspend and resume * @data: Data passed with the callback */void acpi_pmtmr_register_suspend_resume_callback(void (*cb)(void *data, bool suspend), void *data);
/** * acpi_pmtmr_unregister_suspend_resume_callback - Remove registered callback * for suspend and resume event */void acpi_pmtmr_unregister_suspend_resume_callback(void);
#else
static inline u32 acpi_pm_read_early(void){ return 0;}
#endif
#endif