| From 53d18d2c15cbc5fc5f9a2c5d8ea5ae2d24bb4434 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 24 Feb 2021 12:10:04 -0800 |
| Subject: mfd: intel_pmt: Fix nuisance messages and handling of disabled |
| capabilities |
| |
| From: David E. Box <david.e.box@linux.intel.com> |
| |
| [ Upstream commit a1a5c1c3df282dc122508a17500317266ef19e46 ] |
| |
| Some products will be available that have PMT capabilities that are not |
| supported. Remove the warnings in this instance to avoid nuisance messages |
| and confusion. |
| |
| Also return an error code for capabilities that are disabled by quirk to |
| prevent them from keeping the driver loaded if only disabled capabilities |
| are found. |
| |
| Fixes: 4f8217d5b0ca ("mfd: Intel Platform Monitoring Technology support") |
| Signed-off-by: David E. Box <david.e.box@linux.intel.com> |
| Reviewed-by: Hans de Goede <hdegoede@redhat.com> |
| Signed-off-by: Lee Jones <lee.jones@linaro.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/mfd/intel_pmt.c | 11 +++-------- |
| 1 file changed, 3 insertions(+), 8 deletions(-) |
| |
| diff --git a/drivers/mfd/intel_pmt.c b/drivers/mfd/intel_pmt.c |
| index 744b230cdcca..65da2b17a204 100644 |
| --- a/drivers/mfd/intel_pmt.c |
| +++ b/drivers/mfd/intel_pmt.c |
| @@ -79,19 +79,18 @@ static int pmt_add_dev(struct pci_dev *pdev, struct intel_dvsec_header *header, |
| case DVSEC_INTEL_ID_WATCHER: |
| if (quirks & PMT_QUIRK_NO_WATCHER) { |
| dev_info(dev, "Watcher not supported\n"); |
| - return 0; |
| + return -EINVAL; |
| } |
| name = "pmt_watcher"; |
| break; |
| case DVSEC_INTEL_ID_CRASHLOG: |
| if (quirks & PMT_QUIRK_NO_CRASHLOG) { |
| dev_info(dev, "Crashlog not supported\n"); |
| - return 0; |
| + return -EINVAL; |
| } |
| name = "pmt_crashlog"; |
| break; |
| default: |
| - dev_err(dev, "Unrecognized PMT capability: %d\n", id); |
| return -EINVAL; |
| } |
| |
| @@ -174,12 +173,8 @@ static int pmt_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) |
| header.offset = INTEL_DVSEC_TABLE_OFFSET(table); |
| |
| ret = pmt_add_dev(pdev, &header, quirks); |
| - if (ret) { |
| - dev_warn(&pdev->dev, |
| - "Failed to add device for DVSEC id %d\n", |
| - header.id); |
| + if (ret) |
| continue; |
| - } |
| |
| found_devices = true; |
| } while (true); |
| -- |
| 2.30.2 |
| |