|
@@ -121,6 +121,8 @@ static int i5500_temp_probe(struct pci_dev *pdev,
|
|
|
{
|
|
|
int err;
|
|
|
struct device *hwmon_dev;
|
|
|
+ u32 tstimer;
|
|
|
+ s8 tsfsc;
|
|
|
|
|
|
err = pci_enable_device(pdev);
|
|
|
if (err) {
|
|
@@ -128,6 +130,13 @@ static int i5500_temp_probe(struct pci_dev *pdev,
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
+ pci_read_config_byte(pdev, REG_TSFSC, &tsfsc);
|
|
|
+ pci_read_config_dword(pdev, REG_TSTIMER, &tstimer);
|
|
|
+ if (tsfsc == 0x7F && tstimer == 0x07D30D40) {
|
|
|
+ dev_warn(&pdev->dev, "Sensor seems to be disabled\n");
|
|
|
+ return -ENODEV;
|
|
|
+ }
|
|
|
+
|
|
|
hwmon_dev = devm_hwmon_device_register_with_groups(&pdev->dev,
|
|
|
"intel5500", NULL,
|
|
|
i5500_temp_groups);
|