diff options
| author | David E. Box <david.e.box@linux.intel.com> | 2026-06-12 14:01:55 -0700 |
|---|---|---|
| committer | Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> | 2026-06-15 02:13:15 +0300 |
| commit | 8a3607ece59fcf84cf4129bdf683cb09122e6b51 (patch) | |
| tree | c820b97dfa32fd0c0908cd3a20401420474d5018 | |
| parent | 08b94937c78aaa144e3afff659c6112bffea6bf0 (diff) | |
| download | lwn-8a3607ece59fcf84cf4129bdf683cb09122e6b51.tar.gz lwn-8a3607ece59fcf84cf4129bdf683cb09122e6b51.zip | |
platform/x86/intel/pmc/ssram: Make PMT registration optional
The SSRAM telemetry driver extracts essential PMC device ID and power
management base address information that intel_pmc_core depends on for core
functionality. If PMT registration failure prevents this critical data from
being available, intel_pmc_core operation would break entirely. Therefore,
PMT registration failures must not block access to this data.
Change the behavior to log a warning when PMT registration fails but
continue with successful driver initialization, ensuring the primary
telemetry data remains accessible to dependent drivers.
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Link: https://patch.msgid.link/4f4c324977951f6082bf2218c8b911e1ae7e0a7b.1781294741.git.david.e.box@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
| -rw-r--r-- | drivers/platform/x86/intel/pmc/ssram_telemetry.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/platform/x86/intel/pmc/ssram_telemetry.c b/drivers/platform/x86/intel/pmc/ssram_telemetry.c index 10462fa7ebbf..9a8922045ab7 100644 --- a/drivers/platform/x86/intel/pmc/ssram_telemetry.c +++ b/drivers/platform/x86/intel/pmc/ssram_telemetry.c @@ -198,7 +198,7 @@ pmc_ssram_telemetry_get_pmc_pci(struct pci_dev *pcidev, /* Find and register and PMC telemetry entries */ ret = pmc_ssram_telemetry_add_pmt(pcidev, ssram_base, ssram); if (ret) - return ret; + dev_warn(&pcidev->dev, "could not register PMT\n"); probe_cache->valid_mask |= BIT(pmc_idx); @@ -291,7 +291,7 @@ static int pmc_ssram_telemetry_acpi_init(struct pci_dev *pcidev, ret = intel_vsec_register(&pcidev->dev, &info); if (ret) - return ret; + dev_warn(&pcidev->dev, "could not register PMT\n"); return pmc_ssram_telemetry_get_pmc_acpi(pcidev, probe_cache, index); } |
