summaryrefslogtreecommitdiffstats
path: root/sys/pci/intpm.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1999-04-21 07:26:30 +0000
committerpeter <peter@FreeBSD.org>1999-04-21 07:26:30 +0000
commitfa628c268c2d531552037f05699c06959d9618e6 (patch)
tree139882de7181a80226508d0a7c0f4695f2639ae0 /sys/pci/intpm.c
parent47b96f90c086096cb12e76442461d4da895e207b (diff)
downloadFreeBSD-src-fa628c268c2d531552037f05699c06959d9618e6.zip
FreeBSD-src-fa628c268c2d531552037f05699c06959d9618e6.tar.gz
Stage 1 of a cleanup of the i386 interrupt registration mechanism.
Interrupts under the new scheme are managed by the i386 nexus with the awareness of the resource manager. There is further room for optimizing the interfaces still. All the users of register_intr()/intr_create() should be gone, with the exception of pcic and i386/isa/clock.c.
Diffstat (limited to 'sys/pci/intpm.c')
-rw-r--r--sys/pci/intpm.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/sys/pci/intpm.c b/sys/pci/intpm.c
index 705e8c6..a07d752 100644
--- a/sys/pci/intpm.c
+++ b/sys/pci/intpm.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: intpm.c,v 1.3 1999/01/27 23:45:43 dillon Exp $
+ * $Id: intpm.c,v 1.4 1999/01/28 00:57:53 dillon Exp $
*/
#include "pci.h"
@@ -670,12 +670,10 @@ static int force_pci_map_int(pcici_t cfg, pci_inthand_t *func, void *arg, unsign
#endif
/* Spec sheet claims that it use IRQ 9*/
int irq = 9;
- void *dev_instance = (void *)-1; /* XXX use cfg->devdata */
void *idesc;
- idesc = intr_create(dev_instance, irq, func, arg, maskptr, 0);
- error = intr_connect(idesc);
- if (error != 0)
+ idesc = inthand_add(NULL, irq, func, arg, maskptr, 0);
+ if (idesc == 0)
return 0;
#ifdef APIC_IO
nextpin = next_apic_irq(irq);
@@ -706,9 +704,7 @@ static int force_pci_map_int(pcici_t cfg, pci_inthand_t *func, void *arg, unsign
nextpin = next_apic_irq(irq);
while (nextpin >= 0) {
- idesc = intr_create(dev_instance, nextpin, func, arg,
- maskptr, 0);
- error = intr_connect(idesc);
+ idesc = inthand_add(NULL, nextpin, func, arg, maskptr, 0);
if (error != 0)
return 0;
printf("Registered extra interrupt handler for int %d (in addition to int %d)\n", nextpin, irq);
OpenPOWER on IntegriCloud