refactor: isrm to centeralize interrupt/irq resources management.
[lunaix-os.git] / lunaix-os / hal / ahci / ahci.c
index 43b8f1ea6e1f0978b3429b7cfb2ccac643574c92..74ba92885c61cc9674a4b33c0dffaeb03de10e6b 100644 (file)
@@ -16,6 +16,7 @@
 #include <hal/pci.h>
 #include <klibc/string.h>
 #include <lunaix/block.h>
+#include <lunaix/isrm.h>
 #include <lunaix/mm/mmio.h>
 #include <lunaix/mm/pmm.h>
 #include <lunaix/mm/valloc.h>
@@ -88,8 +89,7 @@ ahci_init()
 
     pci_write_cspace(ahci_dev->cspace_base, PCI_REG_STATUS_CMD, cmd);
 
-    pci_setup_msi(ahci_dev, AHCI_HBA_IV);
-    intr_subscribe(AHCI_HBA_IV, __ahci_hba_isr);
+    pci_setup_msi(ahci_dev, isrm_ivexalloc(__ahci_hba_isr));
 
     memset(&hba, 0, sizeof(hba));