]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - drivers/edac/e7xxx_edac.c
drivers/edac: add dev_name getter function
[mirror_ubuntu-zesty-kernel.git] / drivers / edac / e7xxx_edac.c
index 310d91b41c96154bf0ba8154b5b017f126a441d1..5202bbf2e0cd0676b593f17aca763acc099ab1a1 100644 (file)
 #include <linux/pci.h>
 #include <linux/pci_ids.h>
 #include <linux/slab.h>
-#include "edac_mc.h"
+#include <linux/edac.h>
+#include "edac_core.h"
 
-#define        E7XXX_REVISION " Ver: 2.0.1 " __DATE__
+#define        E7XXX_REVISION " Ver: 2.0.2 " __DATE__
 #define        EDAC_MOD_STR    "e7xxx_edac"
 
 #define e7xxx_printk(level, fmt, arg...) \
@@ -419,6 +420,17 @@ static int e7xxx_probe1(struct pci_dev *pdev, int dev_idx)
        struct e7xxx_error_info discard;
 
        debugf0("%s(): mci\n", __func__);
+
+       /* make sure error reporting method is sane */
+       switch(edac_op_state) {
+               case EDAC_OPSTATE_POLL:
+               case EDAC_OPSTATE_NMI:
+                       break;
+               default:
+                       edac_op_state = EDAC_OPSTATE_POLL;
+                       break;
+       }
+
        pci_read_config_dword(pdev, E7XXX_DRC, &drc);
 
        drc_chan = dual_channel_active(drc, dev_idx);
@@ -451,6 +463,7 @@ static int e7xxx_probe1(struct pci_dev *pdev, int dev_idx)
 
        debugf3("%s(): more mci init\n", __func__);
        mci->ctl_name = pvt->dev_info->ctl_name;
+       mci->dev_name = pci_name(pdev);
        mci->edac_check = e7xxx_check;
        mci->ctl_page_to_phys = ctl_page_to_phys;
        e7xxx_init_csrows(mci, pdev, dev_idx, drc);
@@ -565,3 +578,5 @@ MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Linux Networx (http://lnxi.com) Thayne Harbaugh et al\n"
        "Based on.work by Dan Hollis et al");
 MODULE_DESCRIPTION("MC support for Intel e7xxx memory controllers");
+module_param(edac_op_state, int, 0444);
+MODULE_PARM_DESC(edac_op_state, "EDAC Error Reporting state: 0=Poll,1=NMI");