X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/35a7d633d3f16c1e0539af6ca5d8e7482926cd93..836d44ecb7a2c37427f6baf8b25e872e9e943d5b:/lunaix-os/hal/ahci/ahci_pci.c diff --git a/lunaix-os/hal/ahci/ahci_pci.c b/lunaix-os/hal/ahci/ahci_pci.c index 4435da1..6c4fdde 100644 --- a/lunaix-os/hal/ahci/ahci_pci.c +++ b/lunaix-os/hal/ahci/ahci_pci.c @@ -11,7 +11,7 @@ ahci_pci_create(struct device_def* def, morph_t* morphed) struct device* dev; struct pci_base_addr* bar6; struct ahci_driver* ahci_drv; - msi_vector_t msiv; + irq_t irq; probe = changeling_try_reveal(morphed, pci_probe_morpher); if (!probe) { @@ -29,12 +29,13 @@ ahci_pci_create(struct device_def* def, morph_t* morphed) assert(pci_capability_msi(probe)); - msiv = pci_msi_setup_simple(probe, ahci_hba_isr); + irq = pci_declare_msi_irq(ahci_hba_isr, probe, NULL); + pci_assign_msi(probe, irq); struct ahci_driver_param param = { .mmio_base = bar6->start, .mmio_size = bar6->size, - .ahci_iv = msi_vect(msiv), + .irq = irq, }; ahci_drv = ahci_driver_init(¶m);