summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid E. Box <david.e.box@linux.intel.com>2026-06-12 14:01:55 -0700
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>2026-06-15 02:13:15 +0300
commit8a3607ece59fcf84cf4129bdf683cb09122e6b51 (patch)
treec820b97dfa32fd0c0908cd3a20401420474d5018
parent08b94937c78aaa144e3afff659c6112bffea6bf0 (diff)
downloadlwn-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.c4
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);
}