aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac/i3000_edac.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/edac/i3000_edac.c')
-rw-r--r--drivers/edac/i3000_edac.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/drivers/edac/i3000_edac.c b/drivers/edac/i3000_edac.c
index fa4c4d48756f..d410bf7c4463 100644
--- a/drivers/edac/i3000_edac.c
+++ b/drivers/edac/i3000_edac.c
@@ -148,7 +148,7 @@ struct i3000_error_info {
148 148
149static const struct i3000_dev_info i3000_devs[] = { 149static const struct i3000_dev_info i3000_devs[] = {
150 [I3000] = { 150 [I3000] = {
151 .ctl_name = "i3000"}, 151 .ctl_name = "i3000"},
152}; 152};
153 153
154static struct pci_dev *mci_pdev = NULL; 154static struct pci_dev *mci_pdev = NULL;
@@ -195,8 +195,8 @@ static void i3000_get_error_info(struct mem_ctl_info *mci,
195} 195}
196 196
197static int i3000_process_error_info(struct mem_ctl_info *mci, 197static int i3000_process_error_info(struct mem_ctl_info *mci,
198 struct i3000_error_info *info, 198 struct i3000_error_info *info,
199 int handle_errors) 199 int handle_errors)
200{ 200{
201 int row, multi_chan; 201 int row, multi_chan;
202 int pfn, offset, channel; 202 int pfn, offset, channel;
@@ -224,7 +224,7 @@ static int i3000_process_error_info(struct mem_ctl_info *mci,
224 edac_mc_handle_ue(mci, pfn, offset, row, "i3000 UE"); 224 edac_mc_handle_ue(mci, pfn, offset, row, "i3000 UE");
225 else 225 else
226 edac_mc_handle_ce(mci, pfn, offset, info->derrsyn, row, 226 edac_mc_handle_ce(mci, pfn, offset, info->derrsyn, row,
227 multi_chan ? channel : 0, "i3000 CE"); 227 multi_chan ? channel : 0, "i3000 CE");
228 228
229 return 1; 229 return 1;
230} 230}
@@ -250,7 +250,8 @@ static int i3000_is_interleaved(const unsigned char *c0dra,
250 */ 250 */
251 for (i = 0; i < I3000_RANKS_PER_CHANNEL / 2; i++) 251 for (i = 0; i < I3000_RANKS_PER_CHANNEL / 2; i++)
252 if (ODD_RANK_ATTRIB(c0dra[i]) != ODD_RANK_ATTRIB(c1dra[i]) || 252 if (ODD_RANK_ATTRIB(c0dra[i]) != ODD_RANK_ATTRIB(c1dra[i]) ||
253 EVEN_RANK_ATTRIB(c0dra[i]) != EVEN_RANK_ATTRIB(c1dra[i])) 253 EVEN_RANK_ATTRIB(c0dra[i]) !=
254 EVEN_RANK_ATTRIB(c1dra[i]))
254 return 0; 255 return 0;
255 256
256 /* If the rank boundaries for the two channels are different 257 /* If the rank boundaries for the two channels are different
@@ -283,7 +284,7 @@ static int i3000_probe1(struct pci_dev *pdev, int dev_idx)
283 window = ioremap_nocache(mchbar, I3000_MMR_WINDOW_SIZE); 284 window = ioremap_nocache(mchbar, I3000_MMR_WINDOW_SIZE);
284 if (!window) { 285 if (!window) {
285 printk(KERN_ERR "i3000: cannot map mmio space at 0x%lx\n", 286 printk(KERN_ERR "i3000: cannot map mmio space at 0x%lx\n",
286 mchbar); 287 mchbar);
287 return -ENODEV; 288 return -ENODEV;
288 } 289 }
289 290
@@ -398,7 +399,7 @@ static int i3000_probe1(struct pci_dev *pdev, int dev_idx)
398 399
399/* returns count (>= 0), or negative on error */ 400/* returns count (>= 0), or negative on error */
400static int __devinit i3000_init_one(struct pci_dev *pdev, 401static int __devinit i3000_init_one(struct pci_dev *pdev,
401 const struct pci_device_id *ent) 402 const struct pci_device_id *ent)
402{ 403{
403 int rc; 404 int rc;
404 405
@@ -459,7 +460,7 @@ static int __init i3000_init(void)
459 if (mci_pdev == NULL) { 460 if (mci_pdev == NULL) {
460 i3000_registered = 0; 461 i3000_registered = 0;
461 mci_pdev = pci_get_device(PCI_VENDOR_ID_INTEL, 462 mci_pdev = pci_get_device(PCI_VENDOR_ID_INTEL,
462 PCI_DEVICE_ID_INTEL_3000_HB, NULL); 463 PCI_DEVICE_ID_INTEL_3000_HB, NULL);
463 if (!mci_pdev) { 464 if (!mci_pdev) {
464 debugf0("i3000 pci_get_device fail\n"); 465 debugf0("i3000 pci_get_device fail\n");
465 pci_rc = -ENODEV; 466 pci_rc = -ENODEV;
@@ -476,10 +477,10 @@ static int __init i3000_init(void)
476 477
477 return 0; 478 return 0;
478 479
479 fail1: 480fail1:
480 pci_unregister_driver(&i3000_driver); 481 pci_unregister_driver(&i3000_driver);
481 482
482 fail0: 483fail0:
483 if (mci_pdev) 484 if (mci_pdev)
484 pci_dev_put(mci_pdev); 485 pci_dev_put(mci_pdev);
485 486