|
@@ -209,7 +209,6 @@ enum e752x_chips {
|
|
|
*/
|
|
|
|
|
|
struct e752x_pvt {
|
|
|
- struct pci_dev *bridge_ck;
|
|
|
struct pci_dev *dev_d0f0;
|
|
|
struct pci_dev *dev_d0f1;
|
|
|
u32 tolm;
|
|
@@ -891,7 +890,7 @@ static void e752x_get_error_info(struct mem_ctl_info *mci,
|
|
|
info->buf_ferr);
|
|
|
|
|
|
if (info->dram_ferr)
|
|
|
- pci_write_bits16(pvt->bridge_ck, E752X_DRAM_FERR,
|
|
|
+ pci_write_bits16(pvt->dev_d0f1, E752X_DRAM_FERR,
|
|
|
info->dram_ferr, info->dram_ferr);
|
|
|
|
|
|
pci_write_config_dword(dev, E752X_FERR_GLOBAL,
|
|
@@ -936,7 +935,7 @@ static void e752x_get_error_info(struct mem_ctl_info *mci,
|
|
|
info->buf_nerr);
|
|
|
|
|
|
if (info->dram_nerr)
|
|
|
- pci_write_bits16(pvt->bridge_ck, E752X_DRAM_NERR,
|
|
|
+ pci_write_bits16(pvt->dev_d0f1, E752X_DRAM_NERR,
|
|
|
info->dram_nerr, info->dram_nerr);
|
|
|
|
|
|
pci_write_config_dword(dev, E752X_NERR_GLOBAL,
|
|
@@ -1177,38 +1176,33 @@ static void e752x_init_mem_map_table(struct pci_dev *pdev,
|
|
|
static int e752x_get_devs(struct pci_dev *pdev, int dev_idx,
|
|
|
struct e752x_pvt *pvt)
|
|
|
{
|
|
|
- struct pci_dev *dev;
|
|
|
-
|
|
|
- pvt->bridge_ck = pci_get_device(PCI_VENDOR_ID_INTEL,
|
|
|
+ pvt->dev_d0f1 = pci_get_device(PCI_VENDOR_ID_INTEL,
|
|
|
pvt->dev_info->err_dev, NULL);
|
|
|
|
|
|
- if (pvt->bridge_ck == NULL) {
|
|
|
- pvt->bridge_ck = pci_scan_single_device(pdev->bus,
|
|
|
+ if (pvt->dev_d0f1 == NULL) {
|
|
|
+ pvt->dev_d0f1 = pci_scan_single_device(pdev->bus,
|
|
|
PCI_DEVFN(0, 1));
|
|
|
- pci_dev_get(pvt->bridge_ck);
|
|
|
+ pci_dev_get(pvt->dev_d0f1);
|
|
|
}
|
|
|
|
|
|
- if (pvt->bridge_ck == NULL) {
|
|
|
+ if (pvt->dev_d0f1 == NULL) {
|
|
|
e752x_printk(KERN_ERR, "error reporting device not found:"
|
|
|
"vendor %x device 0x%x (broken BIOS?)\n",
|
|
|
PCI_VENDOR_ID_INTEL, e752x_devs[dev_idx].err_dev);
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
- dev = pci_get_device(PCI_VENDOR_ID_INTEL,
|
|
|
+ pvt->dev_d0f0 = pci_get_device(PCI_VENDOR_ID_INTEL,
|
|
|
e752x_devs[dev_idx].ctl_dev,
|
|
|
NULL);
|
|
|
|
|
|
- if (dev == NULL)
|
|
|
+ if (pvt->dev_d0f0 == NULL)
|
|
|
goto fail;
|
|
|
|
|
|
- pvt->dev_d0f0 = dev;
|
|
|
- pvt->dev_d0f1 = pci_dev_get(pvt->bridge_ck);
|
|
|
-
|
|
|
return 0;
|
|
|
|
|
|
fail:
|
|
|
- pci_dev_put(pvt->bridge_ck);
|
|
|
+ pci_dev_put(pvt->dev_d0f1);
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
@@ -1385,7 +1379,6 @@ static int e752x_probe1(struct pci_dev *pdev, int dev_idx)
|
|
|
fail:
|
|
|
pci_dev_put(pvt->dev_d0f0);
|
|
|
pci_dev_put(pvt->dev_d0f1);
|
|
|
- pci_dev_put(pvt->bridge_ck);
|
|
|
edac_mc_free(mci);
|
|
|
|
|
|
return -ENODEV;
|
|
@@ -1419,7 +1412,6 @@ static void e752x_remove_one(struct pci_dev *pdev)
|
|
|
pvt = (struct e752x_pvt *)mci->pvt_info;
|
|
|
pci_dev_put(pvt->dev_d0f0);
|
|
|
pci_dev_put(pvt->dev_d0f1);
|
|
|
- pci_dev_put(pvt->bridge_ck);
|
|
|
edac_mc_free(mci);
|
|
|
}
|
|
|
|