479 0,
480 }
481};
482
483MODULE_DEVICE_TABLE(pci, i3000_pci_tbl);
484
485static struct pci_driver i3000_driver = {
486 .name = EDAC_MOD_STR,
487 .probe = i3000_init_one,
488 .remove = __devexit_p(i3000_remove_one),
489 .id_table = i3000_pci_tbl,
490};
491
492static int __init i3000_init(void)
493{
494 int pci_rc;
495
496 debugf3("MC: %s()\n", __func__);
497
498
499 opstate_init();
500
501 pci_rc = pci_register_driver(&i3000_driver);
502 if (pci_rc < 0)
503 goto fail0;
504
505 if (!mci_pdev) {
506 i3000_registered = 0;
507 mci_pdev = pci_get_device(PCI_VENDOR_ID_INTEL,
508 PCI_DEVICE_ID_INTEL_3000_HB, NULL);
509 if (!mci_pdev) {
510 debugf0("i3000 pci_get_device fail\n");
511 pci_rc = -ENODEV;
512 goto fail1;
513 }
514
515 pci_rc = i3000_init_one(mci_pdev, i3000_pci_tbl);
516 if (pci_rc < 0) {
517 debugf0("i3000 init fail\n");
518 pci_rc = -ENODEV;
519 goto fail1;