diff options
| author | David E. Box <david.e.box@linux.intel.com> | 2023-06-07 16:38:48 -0700 |
|---|---|---|
| committer | Hans de Goede <hdegoede@redhat.com> | 2023-06-13 12:29:33 +0200 |
| commit | 801e5dc9853fcc36164c502456078145d72b23c5 (patch) | |
| tree | a25d9b35654ac570b42c97d6a2e63a88b702b1dc /drivers/platform/x86/intel/pmc/core.h | |
| parent | platform/x86: thinkpad_acpi: Fix lkp-tests warnings for platform profiles (diff) | |
| download | linux-801e5dc9853fcc36164c502456078145d72b23c5.tar.gz linux-801e5dc9853fcc36164c502456078145d72b23c5.zip | |
platform/x86/intel/pmc: Add resume callback
Add a resume callback to perform platform specific functions during resume
from suspend.
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Link: https://lore.kernel.org/r/20230607233849.239047-1-david.e.box@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'drivers/platform/x86/intel/pmc/core.h')
| -rw-r--r-- | drivers/platform/x86/intel/pmc/core.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/platform/x86/intel/pmc/core.h b/drivers/platform/x86/intel/pmc/core.h index 9ca9b9746719..7c95586e742b 100644 --- a/drivers/platform/x86/intel/pmc/core.h +++ b/drivers/platform/x86/intel/pmc/core.h @@ -327,6 +327,7 @@ struct pmc_reg_map { * @lpm_en_modes: Array of enabled modes from lowest to highest priority * @lpm_req_regs: List of substate requirements * @core_configure: Function pointer to configure the platform + * @resume: Function to perform platform specific resume * * pmc_dev contains info about power management controller device. */ @@ -345,6 +346,7 @@ struct pmc_dev { int lpm_en_modes[LPM_MAX_NUM_MODES]; u32 *lpm_req_regs; void (*core_configure)(struct pmc_dev *pmcdev); + int (*resume)(struct pmc_dev *pmcdev); }; extern const struct pmc_bit_map msr_map[]; @@ -398,6 +400,7 @@ extern const struct pmc_reg_map mtl_reg_map; extern void pmc_core_get_tgl_lpm_reqs(struct platform_device *pdev); extern int pmc_core_send_ltr_ignore(struct pmc_dev *pmcdev, u32 value); +int pmc_core_resume_common(struct pmc_dev *pmcdev); void spt_core_init(struct pmc_dev *pmcdev); void cnp_core_init(struct pmc_dev *pmcdev); void icl_core_init(struct pmc_dev *pmcdev); |
