]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/edac/pasemi_edac.c
pasemi_edac needs to include linux/edac.h
[linux-2.6-omap-h63xx.git] / drivers / edac / pasemi_edac.c
index 4fcf23b61d8e44bdb9ae29a88e3704a6203110fe..8e6b91bd2e99994525cba93fbdaac6750ec6da23 100644 (file)
@@ -26,6 +26,7 @@
 #include <linux/pci.h>
 #include <linux/pci_ids.h>
 #include <linux/slab.h>
+#include <linux/edac.h>
 #include "edac_core.h"
 
 #define MODULE_NAME "pasemi_edac"
@@ -205,7 +206,8 @@ static int __devinit pasemi_edac_probe(struct pci_dev *pdev,
                MCDEBUG_ERRCTL1_RFL_LOG_EN;
        pci_write_config_dword(pdev, MCDEBUG_ERRCTL1, errctl1);
 
-       mci = edac_mc_alloc(0, PASEMI_EDAC_NR_CSROWS, PASEMI_EDAC_NR_CHANS);
+       mci = edac_mc_alloc(0, PASEMI_EDAC_NR_CSROWS, PASEMI_EDAC_NR_CHANS,
+                               system_mmc_id++);
 
        if (mci == NULL)
                return -ENOMEM;
@@ -224,7 +226,7 @@ static int __devinit pasemi_edac_probe(struct pci_dev *pdev,
                EDAC_FLAG_NONE;
        mci->mod_name = MODULE_NAME;
        mci->dev_name = pci_name(pdev);
-       mci->ctl_name = "pasemi,1682m-mc";
+       mci->ctl_name = "pasemi,pwrficient-mc";
        mci->edac_check = pasemi_edac_check;
        mci->ctl_page_to_phys = NULL;
        pci_read_config_dword(pdev, MCCFG_SCRUB, &scrub);
@@ -245,7 +247,7 @@ static int __devinit pasemi_edac_probe(struct pci_dev *pdev,
         */
        pasemi_edac_get_error_info(mci);
 
-       if (edac_mc_add_mc(mci, system_mmc_id++))
+       if (edac_mc_add_mc(mci))
                goto fail;
 
        /* get this far and it's successful */
@@ -269,6 +271,7 @@ static void __devexit pasemi_edac_remove(struct pci_dev *pdev)
 
 static const struct pci_device_id pasemi_edac_pci_tbl[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_PASEMI, 0xa00a) },
+       { }
 };
 
 MODULE_DEVICE_TABLE(pci, pasemi_edac_pci_tbl);
@@ -282,6 +285,9 @@ static struct pci_driver pasemi_edac_driver = {
 
 static int __init pasemi_edac_init(void)
 {
+       /* Ensure that the OPSTATE is set correctly for POLL or NMI */
+       opstate_init();
+
        return pci_register_driver(&pasemi_edac_driver);
 }
 
@@ -295,4 +301,7 @@ module_exit(pasemi_edac_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Egor Martovetsky <egor@pasemi.com>");
-MODULE_DESCRIPTION("MC support for PA Semi PA6T-1682M memory controller");
+MODULE_DESCRIPTION("MC support for PA Semi PWRficient memory controller");
+module_param(edac_op_state, int, 0444);
+MODULE_PARM_DESC(edac_op_state, "EDAC Error Reporting state: 0=Poll,1=NMI");
+