===================================================================
@@ -238,12 +238,27 @@ static int efar_init_one (struct pci_dev
.port_ops = &efar_ops,
};
const struct ata_port_info *ppi[] = { &info, &info };
+ struct ata_host *host;
+ int rc;
if (!printed_version++)
dev_printk(KERN_DEBUG, &pdev->dev,
"version " DRV_VERSION "\n");
- return ata_pci_sff_init_one(pdev, ppi, &efar_sht, NULL);
+ /* enable device and prepare host */
+ rc = pcim_enable_device(pdev);
+ if (rc)
+ return rc;
+
+ rc = ata_pci_sff_prepare_host(pdev, ppi, &host);
+ if (rc)
+ return rc;
+
+ host->flags |= ATA_HOST_PARALLEL_SCAN;
+
+ pci_set_master(pdev);
+
+ return ata_pci_sff_activate_host(host, ata_sff_interrupt, &efar_sht);
}
static const struct pci_device_id efar_pci_tbl[] = {