From ba21a8187b78456729a96fd7efe13c3781923e66 Mon Sep 17 00:00:00 2001 From: beveloper Date: Wed, 17 Sep 2003 15:59:21 +0000 Subject: [PATCH] added irq router git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4729 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/bus_managers/pci/pci.c | 30 ++++++++++++++--------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/add-ons/kernel/bus_managers/pci/pci.c b/src/add-ons/kernel/bus_managers/pci/pci.c index 478bbbffd6..b66e7eeb99 100644 --- a/src/add-ons/kernel/bus_managers/pci/pci.c +++ b/src/add-ons/kernel/bus_managers/pci/pci.c @@ -3,12 +3,14 @@ #include #include "pci_priv.h" +bool gIrqRouterAvailable = false; + void pci_scan_bus(uint8 bus); long get_nth_pci_info(long index, pci_info *outInfo); status_t pci_module_init(void); status_t pci_module_uninit(void); int32 std_ops(int32 op, ...); -status_t pci_module_rescan(); +status_t pci_module_rescan(void); void @@ -38,6 +40,12 @@ pci_module_init(void) dprintf("PCI: pci_config_init failed\n"); return B_ERROR; } + + if (B_OK != pci_irq_init()) { + dprintf("PCI: IRQ router not available\n"); + } else { + gIrqRouterAvailable = true; + } pci_scan_bus(0); return B_OK; @@ -53,7 +61,7 @@ pci_module_uninit(void) status_t -pci_module_rescan() +pci_module_rescan(void) { return B_OK; } @@ -83,16 +91,16 @@ struct pci_module_info pci_module = { }, pci_module_rescan }, - &read_io_8, - &write_io_8, - &read_io_16, - &write_io_16, - &read_io_32, - &write_io_32, + &pci_read_io_8, + &pci_write_io_8, + &pci_read_io_16, + &pci_write_io_16, + &pci_read_io_32, + &pci_write_io_32, &get_nth_pci_info, - &read_pci_config, - &write_pci_config, - &ram_address + &pci_read_config, + &pci_write_config, + &pci_ram_address };