PERFORCE change 99871 for review

Paolo Pisati piso at FreeBSD.org
Fri Jun 23 17:18:27 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=99871

Change 99871 by piso at piso_newluxor on 2006/06/23 17:17:46

	break newbus API: bus_setup_intr() now accepts a new parameter:
	driver_filter_t filter;
	
	Previous API:
	bus_setup_intr(device_t dev, struct resource *r, int flags,
	driver_intr_t handler, void *arg, void **cookiep)
	
	New API:
	bus_setup_intr(device_t dev, struct resource *r, int flags,
	driver_filter_t filter, driver_intr_t handler, void *arg, 
	void **cookiep)
	
	With the new interface, we can support 3 different interrupt 
	handling models:
	
	-filter only (previously known as INTR_FAST)	
	-filter+ithread 
	-ithread only (legacy only?!?!)
	
	NOTA BENE: i didn't modify the various methods of different buses
	that overwrite bus_setup_intr() yet, that means even if GENERIC
	compiles fine, it will panic just after the reboot.
	
	Next step: modify all the methods (i.e. nexus_setup_intr()) that 
	overwrite the bus_setup_intr method of newbus.  

Affected files ...

.. //depot/projects/soc2006/intr_filter/compat/ndis/kern_ndis.c#2 edit
.. //depot/projects/soc2006/intr_filter/contrib/dev/oltr/if_oltr.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/aac/aac.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/acpica/Osd/OsdInterrupt.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/advansys/adv_eisa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/advansys/adv_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/advansys/adv_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/advansys/adwcam.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/aha/aha_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ahb/ahb.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/aic/aic_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/aic/aic_pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic79xx_osm.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic7xxx_osm.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/amd/amd.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/amr/amr_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/an/if_an_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/an/if_an_pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/an/if_an_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ar/if_ar.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/arcmsr/arcmsr.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/arl/if_arl_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/asr/asr.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ata/ata-all.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ata/ata-chipset.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/ata/ata-pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ata/ata-pci.h#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ath/if_ath_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/atkbdc/atkbd.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/atkbdc/atkbd_atkbdc.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/atkbdc/psm.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/awi/if_awi_pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/bce/if_bce.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/bfe/if_bfe.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/bge/if_bge.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/bktr/bktr_os.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/buslogic/bt.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ce/if_ce.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ciss/ciss.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/cm/if_cm_isa.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/cp/if_cp.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/cs/if_cs_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/cs/if_cs_pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ctau/if_ct.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/cx/if_cx.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/dc/if_dc.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/de/if_de.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/dpt/dpt_eisa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/dpt/dpt_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/drm/drm_irq.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ed/if_ed_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ed/if_ed_pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ed/if_ed_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/em/if_em.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/en/if_en_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ep/if_ep_eisa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ep/if_ep_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ep/if_ep_pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ex/if_ex_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ex/if_ex_pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/fatm/if_fatm.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/fdc/fdc.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/fe/if_fe.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/firewire/fwohci_pci.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/fxp/if_fxp.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/hatm/if_hatm.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/hfa/hfa_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/hifn/hifn7751.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/hme/if_hme_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/hptmv/entry.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ichsmb/ichsmb_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ida/ida_eisa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ida/ida_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/idt/idt_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ie/if_ie.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ie/if_ie_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/iir/iir_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ipmi/ipmi_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ips/ips_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ipw/if_ipw.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/isp/isp_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/iwi/if_iwi.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ixgb/if_ixgb.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/le/if_le_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/le/if_le_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/lge/if_lge.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/lmc/if_lmc.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/mfi/mfi.c#4 edit
.. //depot/projects/soc2006/intr_filter/dev/mlx/mlx.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/mly/mly.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/mpt/mpt_pci.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/mse/mse.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/mxge/if_mxge.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/my/if_my.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ncv/ncr53c500_pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/nge/if_nge.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/nsp/nsp_pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/nve/if_nve.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/patm/if_patm_attach.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/pccard/pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/pccbb/pccbb.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/pccbb/pccbb_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/pccbb/pccbbvar.h#2 edit
.. //depot/projects/soc2006/intr_filter/dev/pcf/pcf_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ppbus/if_plip.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ppbus/lpt.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ppbus/ppbconf.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ppbus/pps.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/ppc/ppc.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ppc/ppcvar.h#2 edit
.. //depot/projects/soc2006/intr_filter/dev/pst/pst-iop.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/puc/puc.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/puc/puc_bfe.h#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ral/if_ral_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ray/if_ray.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/rc/rc.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/re/if_re.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/rr232x/osm_bsd.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/safe/safe.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/sbni/if_sbni_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/sbni/if_sbni_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/sbsh/if_sbsh.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/scc/scc_core.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/sio/sio.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/sk/if_sk.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/sn/if_sn.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/sound/isa/gusc.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/sound/pci/vibes.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/sound/pcm/sound.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/sr/if_sr.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/stg/tmc18c30_isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/stg/tmc18c30_pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/stg/tmc18c30_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/sym/sym_hipd.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/ti/if_ti.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/trm/trm.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/twa/tw_osl_freebsd.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/twe/twe_freebsd.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/tx/if_tx.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/txp/if_txp.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/uart/uart_core.c#3 edit
.. //depot/projects/soc2006/intr_filter/dev/ubsec/ubsec.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/usb/ehci_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/usb/ohci_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/usb/uhci_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/vge/if_vge.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/vx/if_vx.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/vx/if_vx_eisa.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/vx/if_vx_pci.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/wi/if_wi.c#2 edit
.. //depot/projects/soc2006/intr_filter/dev/xe/if_xe.c#2 edit
.. //depot/projects/soc2006/intr_filter/i386/isa/isa.c#2 edit
.. //depot/projects/soc2006/intr_filter/i386/isa/npx.c#3 edit
.. //depot/projects/soc2006/intr_filter/isa/isa_common.h#2 edit
.. //depot/projects/soc2006/intr_filter/kern/bus_if.m#2 edit
.. //depot/projects/soc2006/intr_filter/kern/subr_bus.c#2 edit
.. //depot/projects/soc2006/intr_filter/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#2 edit
.. //depot/projects/soc2006/intr_filter/pci/if_pcn.c#2 edit
.. //depot/projects/soc2006/intr_filter/pci/if_rl.c#2 edit
.. //depot/projects/soc2006/intr_filter/pci/if_sf.c#2 edit
.. //depot/projects/soc2006/intr_filter/pci/if_sis.c#2 edit
.. //depot/projects/soc2006/intr_filter/pci/if_ste.c#2 edit
.. //depot/projects/soc2006/intr_filter/pci/if_tl.c#2 edit
.. //depot/projects/soc2006/intr_filter/pci/if_vr.c#2 edit
.. //depot/projects/soc2006/intr_filter/pci/if_wb.c#2 edit
.. //depot/projects/soc2006/intr_filter/pci/if_xl.c#2 edit
.. //depot/projects/soc2006/intr_filter/pci/intpm.c#2 edit
.. //depot/projects/soc2006/intr_filter/sys/bus.h#3 edit

Differences ...

==== //depot/projects/soc2006/intr_filter/compat/ndis/kern_ndis.c#2 (text+ko) ====

@@ -1370,7 +1370,7 @@
         if (sc->ndis_iftype == PCMCIABus || sc->ndis_iftype == PCIBus) {
 		error = bus_setup_intr(sc->ndis_dev, sc->ndis_irq,
 		    INTR_TYPE_NET | INTR_MPSAFE,
-		    ntoskrnl_intr, NULL, &sc->ndis_intrhand);
+		    NULL, ntoskrnl_intr, NULL, &sc->ndis_intrhand);
 		if (error)
 			return(NDIS_STATUS_FAILURE);
 	}

==== //depot/projects/soc2006/intr_filter/contrib/dev/oltr/if_oltr.c#2 (text+ko) ====

@@ -154,7 +154,7 @@
 		if_free(ifp);
 		return (-1);
 	}
-	if (bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET, oltr_intr,
+	if (bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET, NULL, oltr_intr,
 			sc, &sc-> oltr_intrhand)) {
 		device_printf(dev, "couldn't setup interrupt\n");
                 bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq_res);

==== //depot/projects/soc2006/intr_filter/dev/aac/aac.c#3 (text+ko) ====

@@ -305,22 +305,21 @@
 	}
 	if (sc->flags & AAC_FLAGS_NEW_COMM) {
 		if (bus_setup_intr(sc->aac_dev, sc->aac_irq,
-				   INTR_MPSAFE|INTR_TYPE_BIO, aac_new_intr,
+				   INTR_MPSAFE|INTR_TYPE_BIO, NULL, aac_new_intr,
 				   sc, &sc->aac_intr)) {
 			device_printf(sc->aac_dev, "can't set up interrupt\n");
 			return (EINVAL);
 		}
 	} else {
-		// XXX - FIX_INTR_FILTER
 		if (bus_setup_intr(sc->aac_dev, sc->aac_irq,
 				   INTR_FAST|INTR_TYPE_BIO, 
-				   (driver_intr_t *)aac_fast_intr,
+				   aac_fast_intr, NULL,
 				   sc, &sc->aac_intr)) {
 			device_printf(sc->aac_dev,
 				      "can't set up FAST interrupt\n");
 			if (bus_setup_intr(sc->aac_dev, sc->aac_irq,
 					   INTR_MPSAFE|INTR_TYPE_BIO,
-					   aac_intr, sc, &sc->aac_intr)) {
+					   NULL, aac_intr, sc, &sc->aac_intr)) {
 				device_printf(sc->aac_dev,
 					     "can't set up MPSAFE interrupt\n");
 				return (EINVAL);

==== //depot/projects/soc2006/intr_filter/dev/acpica/Osd/OsdInterrupt.c#2 (text+ko) ====

@@ -86,7 +86,7 @@
 	goto error;
     }
     if (bus_setup_intr(sc->acpi_dev, sc->acpi_irq, INTR_TYPE_MISC|INTR_MPSAFE,
-	(driver_intr_t *)ServiceRoutine, Context, &sc->acpi_irq_handle)) {
+	NULL, (driver_intr_t *)ServiceRoutine, Context, &sc->acpi_irq_handle)) {
 	device_printf(sc->acpi_dev, "could not set up interrupt\n");
 	goto error;
     }

==== //depot/projects/soc2006/intr_filter/dev/advansys/adv_eisa.c#2 (text+ko) ====

@@ -323,7 +323,8 @@
 	/*
 	 * Enable our interrupt handler.
 	 */
-	bus_setup_intr(dev, irq, INTR_TYPE_CAM|INTR_ENTROPY, adv_intr, adv, &ih);
+	bus_setup_intr(dev, irq, INTR_TYPE_CAM|INTR_ENTROPY, NULL, adv_intr, 
+		       adv, &ih);
 
 	/* Attach sub-devices - always succeeds */
 	adv_attach(adv);

==== //depot/projects/soc2006/intr_filter/dev/advansys/adv_isa.c#2 (text+ko) ====

@@ -337,7 +337,7 @@
 						RF_ACTIVE);
 		if (irqres == NULL ||
 		    bus_setup_intr(dev, irqres, INTR_TYPE_CAM|INTR_ENTROPY,
-				   adv_intr, adv, &ih)) {
+				   NULL, adv_intr, adv, &ih)) {
 			bus_dmamap_unload(overrun_dmat, overrun_dmamap);
 			bus_dmamem_free(overrun_dmat, overrun_buf,
 			    overrun_dmamap);

==== //depot/projects/soc2006/intr_filter/dev/advansys/adv_pci.c#2 (text+ko) ====

@@ -309,7 +309,7 @@
 	irqres = bus_alloc_resource_any(dev, SYS_RES_IRQ, &irqrid,
 					RF_SHAREABLE | RF_ACTIVE);
 	if (irqres == NULL ||
-	    bus_setup_intr(dev, irqres, INTR_TYPE_CAM|INTR_ENTROPY, adv_intr, adv, &ih)) {
+	    bus_setup_intr(dev, irqres, INTR_TYPE_CAM|INTR_ENTROPY, NULL, adv_intr, adv, &ih)) {
 		adv_free(adv);
 		bus_release_resource(dev, SYS_RES_IOPORT, rid, iores);
 		return ENXIO;

==== //depot/projects/soc2006/intr_filter/dev/advansys/adwcam.c#2 (text+ko) ====

@@ -1199,8 +1199,8 @@
 	s = splcam();
 	/* Hook up our interrupt handler */
 	if ((error = bus_setup_intr(adw->device, adw->irq,
-				    INTR_TYPE_CAM | INTR_ENTROPY, adw_intr,
-				    adw, &adw->ih)) != 0) {
+				    INTR_TYPE_CAM | INTR_ENTROPY, NULL, 
+				    adw_intr, adw, &adw->ih)) != 0) {				    
 		device_printf(adw->device, "bus_setup_intr() failed: %d\n",
 			      error);
 		goto fail;

==== //depot/projects/soc2006/intr_filter/dev/aha/aha_isa.c#2 (text+ko) ====

@@ -272,7 +272,7 @@
 	}
 
 	error = bus_setup_intr(dev, aha->irq, INTR_TYPE_CAM|INTR_ENTROPY,
-	    aha_intr, aha, &ih);
+	    NULL, aha_intr, aha, &ih);
 	if (error) {
 		device_printf(dev, "Unable to register interrupt handler\n");
                 goto fail;

==== //depot/projects/soc2006/intr_filter/dev/ahb/ahb.c#2 (text+ko) ====

@@ -378,7 +378,7 @@
 		goto error_exit;
 
 	/* Enable our interrupt */
-	bus_setup_intr(dev, irq, INTR_TYPE_CAM|INTR_ENTROPY, ahbintr, ahb, &ih);
+	bus_setup_intr(dev, irq, INTR_TYPE_CAM|INTR_ENTROPY, NULL, ahbintr, ahb, &ih);
 	return (0);
 
 error_exit:

==== //depot/projects/soc2006/intr_filter/dev/aic/aic_isa.c#2 (text+ko) ====

@@ -188,7 +188,7 @@
 	}
 
 	error = bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_CAM|INTR_ENTROPY,
-				aic_intr, aic, &sc->sc_ih);
+				NULL, aic_intr, aic, &sc->sc_ih);
 	if (error) {
 		device_printf(dev, "failed to register interrupt handler\n");
 		aic_isa_release_resources(dev);

==== //depot/projects/soc2006/intr_filter/dev/aic/aic_pccard.c#2 (text+ko) ====

@@ -142,7 +142,7 @@
 	}
 
 	error = bus_setup_intr(dev, sc->sc_irq, INTR_TYPE_CAM|INTR_ENTROPY,
-				aic_intr, aic, &sc->sc_ih);
+				NULL, aic_intr, aic, &sc->sc_ih);
 	if (error) {
 		device_printf(dev, "failed to register interrupt handler\n");
 		aic_pccard_release_resources(dev);

==== //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic79xx_osm.c#2 (text+ko) ====

@@ -95,7 +95,7 @@
 
 	/* Hook up our interrupt handler */
 	error = bus_setup_intr(ahd->dev_softc, ahd->platform_data->irq,
-			       INTR_TYPE_CAM, ahd_platform_intr, ahd,
+			       INTR_TYPE_CAM, NULL, ahd_platform_intr, ahd,
 			       &ahd->platform_data->ih);
 	if (error != 0)
 		device_printf(ahd->dev_softc, "bus_setup_intr() failed: %d\n",

==== //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic7xxx_osm.c#2 (text+ko) ====

@@ -107,7 +107,7 @@
 
 	/* Hook up our interrupt handler */
 	error = bus_setup_intr(ahc->dev_softc, ahc->platform_data->irq,
-			       INTR_TYPE_CAM, ahc_platform_intr, ahc,
+			       INTR_TYPE_CAM, NULL, ahc_platform_intr, ahc,
 			       &ahc->platform_data->ih);
 
 	if (error != 0)

==== //depot/projects/soc2006/intr_filter/dev/amd/amd.c#2 (text+ko) ====

@@ -2435,7 +2435,7 @@
 					RF_SHAREABLE | RF_ACTIVE);
 	if (irqres == NULL ||
 	    bus_setup_intr(dev, irqres, INTR_TYPE_CAM | INTR_ENTROPY,
-	    amd_intr, amd, &ih)) {
+	    NULL, amd_intr, amd, &ih)) {
 		if (bootverbose)
 			printf("amd%d: unable to register interrupt handler!\n",
 			       unit);

==== //depot/projects/soc2006/intr_filter/dev/amr/amr_pci.c#2 (text+ko) ====

@@ -261,7 +261,7 @@
 	goto out;
     }
     if (bus_setup_intr(sc->amr_dev, sc->amr_irq,
-	INTR_TYPE_BIO | INTR_ENTROPY | INTR_MPSAFE, amr_pci_intr,
+	INTR_TYPE_BIO | INTR_ENTROPY | INTR_MPSAFE, NULL, amr_pci_intr,
 	sc, &sc->amr_intr)) {
         device_printf(sc->amr_dev, "can't set up interrupt\n");
 	goto out;

==== //depot/projects/soc2006/intr_filter/dev/an/if_an_isa.c#2 (text+ko) ====

@@ -122,7 +122,7 @@
 	}
 
 	error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET,
-			       an_intr, sc, &sc->irq_handle);
+			       NULL, an_intr, sc, &sc->irq_handle);
 	if (error) {
 		an_release_resources(dev);
 		return (error);

==== //depot/projects/soc2006/intr_filter/dev/an/if_an_pccard.c#2 (text+ko) ====

@@ -153,7 +153,7 @@
 	 * Must setup the interrupt after the an_attach to prevent racing.
 	 */
 	error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET,
-			       an_intr, sc, &sc->irq_handle);
+			       NULL, an_intr, sc, &sc->irq_handle);
 fail:
 	if (error)
 		an_release_resources(dev);

==== //depot/projects/soc2006/intr_filter/dev/an/if_an_pci.c#2 (text+ko) ====

@@ -240,7 +240,7 @@
 	 * Must setup the interrupt after the an_attach to prevent racing.
 	 */
 	error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET,
-	    an_intr, sc, &sc->irq_handle);
+	    NULL, an_intr, sc, &sc->irq_handle);
 
 fail:
 	if (error)

==== //depot/projects/soc2006/intr_filter/dev/ar/if_ar.c#2 (text+ko) ====

@@ -259,7 +259,7 @@
 	arc_init(hc);
 
 	if(bus_setup_intr(device, hc->res_irq,
-	    INTR_TYPE_NET, arintr, hc, &hc->intr_cookie) != 0)
+	    INTR_TYPE_NET, NULL, arintr, hc, &hc->intr_cookie) != 0)
 		return (1);
 
 	sc = hc->sc;

==== //depot/projects/soc2006/intr_filter/dev/arcmsr/arcmsr.c#2 (text+ko) ====

@@ -2381,7 +2381,7 @@
 	/* After setting up the adapter,map our interrupt */
 	rid=0;
 	irqres=bus_alloc_resource(dev,SYS_RES_IRQ,&rid,0,~0,1,RF_SHAREABLE | RF_ACTIVE);
-	if(irqres == NULL || bus_setup_intr(dev,irqres,INTR_TYPE_CAM,arcmsr_interrupt,pACB,&pACB->ih)) 
+	if(irqres == NULL || bus_setup_intr(dev,irqres,INTR_TYPE_CAM,NULL,arcmsr_interrupt,pACB,&pACB->ih)) 
 	{
 		arcmsr_free_resource(pACB);
 		printf("arcmsr%d: unable to register interrupt handler!\n",unit);

==== //depot/projects/soc2006/intr_filter/dev/arl/if_arl_isa.c#2 (text+ko) ====

@@ -303,7 +303,7 @@
 	arl_alloc_irq(dev, sc->irq_rid, 0);
 
 	error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET,
-			       arl_intr, sc, &sc->irq_handle);
+			       NULL, arl_intr, sc, &sc->irq_handle);
 	if (error) {
 		arl_release_resources(dev);
 		return (error);

==== //depot/projects/soc2006/intr_filter/dev/asr/asr.c#2 (text+ko) ====

@@ -2294,7 +2294,7 @@
 		return (0);
 	}
 	if (bus_setup_intr(dev, sc->ha_irq_res, INTR_TYPE_CAM | INTR_ENTROPY,
-	  (driver_intr_t *)asr_intr, (void *)sc, &(sc->ha_intr))) {
+	  NULL, (driver_intr_t *)asr_intr, (void *)sc, &(sc->ha_intr))) {
 		return (0);
 	}
 	sc->ha_irq = pci_read_config(dev, PCIR_INTLINE, sizeof(char));

==== //depot/projects/soc2006/intr_filter/dev/ata/ata-all.c#2 (text+ko) ====

@@ -134,7 +134,7 @@
 	device_printf(dev, "unable to allocate interrupt\n");
 	return ENXIO;
     }
-    if ((error = bus_setup_intr(dev, ch->r_irq, ATA_INTR_FLAGS,
+    if ((error = bus_setup_intr(dev, ch->r_irq, ATA_INTR_FLAGS, NULL,
 				(driver_intr_t *)ata_interrupt, ch, &ch->ih))) {
 	device_printf(dev, "unable to setup interrupt\n");
 	return error;

==== //depot/projects/soc2006/intr_filter/dev/ata/ata-chipset.c#3 (text+ko) ====

@@ -3052,7 +3052,7 @@
 	    u_int32_t dimm = ATA_INL(ctlr->r_res2, 0x000c0080);
 
 	    if (bus_teardown_intr(dev, ctlr->r_irq, ctlr->handle) ||
-		bus_setup_intr(dev, ctlr->r_irq, ATA_INTR_FLAGS,
+		bus_setup_intr(dev, ctlr->r_irq, ATA_INTR_FLAGS, NULL,
 			       ata_promise_sx4_intr, ctlr, &ctlr->handle)) {
 		device_printf(dev, "unable to setup interrupt\n");
 		goto failnfree;
@@ -3086,7 +3086,7 @@
 
 	/* mio type controllers need an interrupt intercept */
 	if (bus_teardown_intr(dev, ctlr->r_irq, ctlr->handle) ||
-		bus_setup_intr(dev, ctlr->r_irq, ATA_INTR_FLAGS,
+	    bus_setup_intr(dev, ctlr->r_irq, ATA_INTR_FLAGS, NULL,
 			       ata_promise_mio_intr, ctlr, &ctlr->handle)) {
 		device_printf(dev, "unable to setup interrupt\n");
 		goto failnfree;
@@ -4876,7 +4876,7 @@
 	    device_printf(dev, "unable to map interrupt\n");
 	    return ENXIO;
 	}
-	if ((bus_setup_intr(dev, ctlr->r_irq, ATA_INTR_FLAGS,
+	if ((bus_setup_intr(dev, ctlr->r_irq, ATA_INTR_FLAGS, NULL,
 			    ata_generic_intr, ctlr, &ctlr->handle))) {
 	    device_printf(dev, "unable to setup interrupt\n");
 	    return ENXIO;

==== //depot/projects/soc2006/intr_filter/dev/ata/ata-pci.c#2 (text+ko) ====

@@ -335,12 +335,12 @@
 
 int
 ata_pci_setup_intr(device_t dev, device_t child, struct resource *irq, 
-		   int flags, driver_intr_t *function, void *argument,
-		   void **cookiep)
+		   int flags, driver_filter_t *filter, driver_intr_t *function, 
+		   void *argument, void **cookiep)
 {
     if (ata_legacy(dev)) {
 	return BUS_SETUP_INTR(device_get_parent(dev), child, irq,
-			      flags, function, argument, cookiep);
+			      flags, filter, function, argument, cookiep);
     }
     else {
 	struct ata_pci_controller *controller = device_get_softc(dev);

==== //depot/projects/soc2006/intr_filter/dev/ata/ata-pci.h#2 (text+ko) ====

@@ -400,7 +400,7 @@
 int ata_pci_detach(device_t dev);
 struct resource * ata_pci_alloc_resource(device_t dev, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags);
 int ata_pci_release_resource(device_t dev, device_t child, int type, int rid, struct resource *r);
-int ata_pci_setup_intr(device_t dev, device_t child, struct resource *irq, int flags, driver_intr_t *function, void *argument, void **cookiep);
+int ata_pci_setup_intr(device_t dev, device_t child, struct resource *irq, int flags, driver_filter_t *filter, driver_intr_t *function, void *argument, void **cookiep);
  int ata_pci_teardown_intr(device_t dev, device_t child, struct resource *irq, void *cookie);
 int ata_pci_allocate(device_t dev);
 void ata_pci_hw(device_t dev);

==== //depot/projects/soc2006/intr_filter/dev/ath/if_ath_pci.c#2 (text+ko) ====

@@ -168,7 +168,7 @@
 		goto bad1;
 	}
 	if (bus_setup_intr(dev, psc->sc_irq,
-			   INTR_TYPE_NET | INTR_MPSAFE,
+			   INTR_TYPE_NET | INTR_MPSAFE, NULL,
 			   ath_intr, sc, &psc->sc_ih)) {
 		device_printf(dev, "could not establish interrupt\n");
 		goto bad2;

==== //depot/projects/soc2006/intr_filter/dev/atkbdc/atkbd.c#2 (text+ko) ====


==== //depot/projects/soc2006/intr_filter/dev/atkbdc/atkbd_atkbdc.c#2 (text+ko) ====

@@ -136,7 +136,7 @@
 					  RF_SHAREABLE | RF_ACTIVE);
 	if (sc->intr == NULL)
 		return ENXIO;
-	error = bus_setup_intr(dev, sc->intr, INTR_TYPE_TTY, atkbdintr,
+	error = bus_setup_intr(dev, sc->intr, INTR_TYPE_TTY, NULL, atkbdintr,
 			       kbd, &sc->ih);
 	if (error)
 		bus_release_resource(dev, SYS_RES_IRQ, rid, sc->intr);

==== //depot/projects/soc2006/intr_filter/dev/atkbdc/psm.c#2 (text+ko) ====

@@ -1275,7 +1275,7 @@
 				      RF_SHAREABLE | RF_ACTIVE);
     if (sc->intr == NULL)
 	return (ENXIO);
-    error = bus_setup_intr(dev, sc->intr, INTR_TYPE_TTY, psmintr, sc, &sc->ih);
+    error = bus_setup_intr(dev, sc->intr, INTR_TYPE_TTY, NULL, psmintr, sc, &sc->ih);
     if (error) {
 	bus_release_resource(dev, SYS_RES_IRQ, rid, sc->intr);
 	return (error);

==== //depot/projects/soc2006/intr_filter/dev/awi/if_awi_pccard.c#2 (text+ko) ====

@@ -238,7 +238,7 @@
 
 	if (psc->sc_intrhand == 0) {
 		error = bus_setup_intr(dev, psc->sc_irq_res, INTR_TYPE_NET,
-		    (void (*)(void *))awi_intr, sc, &psc->sc_intrhand);
+		    NULL, (void (*)(void *))awi_intr, sc, &psc->sc_intrhand);
 		if (error) {
 			device_printf(dev,
 			    "couldn't establish interrupt error=%d\n", error);

==== //depot/projects/soc2006/intr_filter/dev/bce/if_bce.c#2 (text) ====

@@ -765,7 +765,7 @@
 #endif
 
 	/* Hookup IRQ last. */
-	rc = bus_setup_intr(dev, sc->bce_irq, INTR_TYPE_NET | INTR_MPSAFE,
+	rc = bus_setup_intr(dev, sc->bce_irq, INTR_TYPE_NET | INTR_MPSAFE, NULL,
 	   bce_intr, sc, &sc->bce_intrhand);
 
 	if (rc) {

==== //depot/projects/soc2006/intr_filter/dev/bfe/if_bfe.c#2 (text+ko) ====

@@ -419,7 +419,7 @@
 	 * Hook interrupt last to avoid having to lock softc
 	 */
 	error = bus_setup_intr(dev, sc->bfe_irq, INTR_TYPE_NET | INTR_MPSAFE,
-			bfe_intr, sc, &sc->bfe_intrhand);
+			NULL, bfe_intr, sc, &sc->bfe_intrhand);
 
 	if (error) {
 		printf("bfe%d: couldn't set up irq\n", unit);

==== //depot/projects/soc2006/intr_filter/dev/bge/if_bge.c#3 (text+ko) ====

@@ -2218,7 +2218,7 @@
 	 * Hookup IRQ last.
 	 */
 	error = bus_setup_intr(dev, sc->bge_irq, INTR_TYPE_NET | INTR_MPSAFE,
-	   bge_intr, sc, &sc->bge_intrhand);
+	   NULL, bge_intr, sc, &sc->bge_intrhand);
 
 	if (error) {
 		bge_detach(dev);

==== //depot/projects/soc2006/intr_filter/dev/bktr/bktr_os.c#2 (text+ko) ====

@@ -384,7 +384,7 @@
 	}
 
 	error = bus_setup_intr(dev, bktr->res_irq, INTR_TYPE_TTY,
-                               bktr_intr, bktr, &bktr->res_ih);
+                               NULL, bktr_intr, bktr, &bktr->res_ih);
 	if (error) {
 		device_printf(dev, "could not setup irq\n");
 		goto fail;

==== //depot/projects/soc2006/intr_filter/dev/buslogic/bt.c#2 (text+ko) ====

@@ -895,7 +895,7 @@
 	/*
 	 * Setup interrupt.
 	 */
-	error = bus_setup_intr(dev, bt->irq, INTR_TYPE_CAM|INTR_ENTROPY,
+	error = bus_setup_intr(dev, bt->irq, INTR_TYPE_CAM|INTR_ENTROPY, NULL,
 			       bt_intr, bt, &bt->ih);
 	if (error) {
 		device_printf(dev, "bus_setup_intr() failed: %d\n", error);

==== //depot/projects/soc2006/intr_filter/dev/ce/if_ce.c#2 (text+ko) ====

@@ -666,7 +666,7 @@
 #else
 				INTR_TYPE_NET,
 #endif
-				ce_intr, bd, &bd->ce_intrhand);
+				NULL, ce_intr, bd, &bd->ce_intrhand);
 	if (error) {
 		printf ("ce%d: cannot set up irq\n", unit);
 		bus_release_resource (dev, SYS_RES_IRQ, 0, bd->ce_irq);

==== //depot/projects/soc2006/intr_filter/dev/ciss/ciss.c#2 (text+ko) ====

@@ -653,7 +653,7 @@
 	return(ENXIO);
     }
     if (bus_setup_intr(sc->ciss_dev, sc->ciss_irq_resource,
-		       INTR_TYPE_CAM|INTR_ENTROPY, ciss_intr, sc,
+		       INTR_TYPE_CAM|INTR_ENTROPY, NULL, ciss_intr, sc,
 		       &sc->ciss_intr)) {
 	ciss_printf(sc, "can't set up interrupt\n");
 	return(ENXIO);

==== //depot/projects/soc2006/intr_filter/dev/cm/if_cm_isa.c#3 (text+ko) ====

@@ -107,7 +107,7 @@
 	mtx_init(&sc->sc_mtx, device_get_nameunit(dev),
 	    MTX_NETWORK_LOCK, MTX_DEF);
 	error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE,
-	    cmintr, sc, &sc->irq_handle);
+	    NULL, cmintr, sc, &sc->irq_handle);
 	if (error)
 		goto err;
 

==== //depot/projects/soc2006/intr_filter/dev/cp/if_cp.c#2 (text+ko) ====

@@ -480,7 +480,7 @@
 	callout_init (&led_timo[unit], cp_mpsafenet ? CALLOUT_MPSAFE : 0);
 	error  = bus_setup_intr (dev, bd->cp_irq,
 				INTR_TYPE_NET|(cp_mpsafenet?INTR_MPSAFE:0),
-				cp_intr, bd, &bd->cp_intrhand);
+				NULL, cp_intr, bd, &bd->cp_intrhand);
 	if (error) {
 		cp_destroy = 1;
 		printf ("cp%d: cannot set up irq\n", unit);

==== //depot/projects/soc2006/intr_filter/dev/cs/if_cs_isa.c#2 (text+ko) ====

@@ -99,7 +99,7 @@
         cs_alloc_irq(dev, sc->irq_rid, 0);
                 
         error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET,
-	    csintr, sc, &sc->irq_handle);
+	    NULL, csintr, sc, &sc->irq_handle);
         if (error) {
                 cs_release_resources(dev);
                 return (error);

==== //depot/projects/soc2006/intr_filter/dev/cs/if_cs_pccard.c#2 (text+ko) ====

@@ -91,7 +91,7 @@
 	if (error != 0)
 		goto bad;
 	error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET,
-	    csintr, sc, &sc->irq_handle);
+	    NULL, csintr, sc, &sc->irq_handle);
 	if (error != 0)
 		goto bad;
 

==== //depot/projects/soc2006/intr_filter/dev/ctau/if_ct.c#2 (text+ko) ====

@@ -681,7 +681,7 @@
 	s = splimp ();
 	if (bus_setup_intr (dev, bd->irq_res,
 			   INTR_TYPE_NET|(ct_mpsafenet?INTR_MPSAFE:0),
-			   ct_intr, bd, &bd->intrhand)) {
+			   NULL, ct_intr, bd, &bd->intrhand)) {
 		printf ("ct%d: Can't setup irq %ld\n", unit, irq);
 		bd->board = 0;
 		adapter [unit] = 0;

==== //depot/projects/soc2006/intr_filter/dev/cx/if_cx.c#2 (text+ko) ====

@@ -779,7 +779,7 @@
 	s = splhigh ();
 	if (bus_setup_intr (dev, bd->irq_res,
 			   INTR_TYPE_NET|(cx_mpsafenet?INTR_MPSAFE:0),
-			   cx_intr, bd, &bd->intrhand)) {
+			   NULL, cx_intr, bd, &bd->intrhand)) {
 		printf ("cx%d: Can't setup irq %ld\n", unit, irq);
 		bd->board = 0;
 		b->sys = 0;

==== //depot/projects/soc2006/intr_filter/dev/dc/if_dc.c#2 (text+ko) ====

@@ -2258,7 +2258,7 @@
 
 	/* Hook interrupt last to avoid having to lock softc */
 	error = bus_setup_intr(dev, sc->dc_irq, INTR_TYPE_NET | INTR_MPSAFE,
-	    dc_intr, sc, &sc->dc_intrhand);
+	    NULL, dc_intr, sc, &sc->dc_intrhand);
 
 	if (error) {
 		device_printf(dev, "couldn't set up irq\n");

==== //depot/projects/soc2006/intr_filter/dev/de/if_de.c#2 (text) ====

@@ -4892,7 +4892,7 @@
 	    res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
 					 RF_SHAREABLE | RF_ACTIVE);
 	    if (res == 0 || bus_setup_intr(dev, res, INTR_TYPE_NET |
-		    INTR_MPSAFE, intr_rtn, sc, &ih)) {
+		    INTR_MPSAFE, NULL, intr_rtn, sc, &ih)) {
 		device_printf(dev, "couldn't map interrupt\n");
 		tulip_busdma_cleanup(sc);
 		ether_ifdetach(sc->tulip_ifp);

==== //depot/projects/soc2006/intr_filter/dev/dpt/dpt_eisa.c#2 (text+ko) ====

@@ -153,7 +153,7 @@
 	splx(s);
 
 	if (bus_setup_intr(dev, dpt->irq_res, INTR_TYPE_CAM | INTR_ENTROPY,
-			   dpt_intr, dpt, &dpt->ih)) {
+			   NULL, dpt_intr, dpt, &dpt->ih)) {
 		device_printf(dev, "Unable to register interrupt handler\n");
 		error = ENXIO;
 		goto bad;

==== //depot/projects/soc2006/intr_filter/dev/dpt/dpt_pci.c#2 (text+ko) ====

@@ -163,7 +163,7 @@
 	splx(s);
 
 	if (bus_setup_intr(dev, dpt->irq_res, INTR_TYPE_CAM | INTR_ENTROPY,
-			   dpt_intr, dpt, &dpt->ih)) {
+			   NULL, dpt_intr, dpt, &dpt->ih)) {
 		device_printf(dev, "Unable to register interrupt handler\n");
 		error = ENXIO;
 		goto bad;

==== //depot/projects/soc2006/intr_filter/dev/drm/drm_irq.c#2 (text+ko) ====

@@ -110,7 +110,7 @@
 				 dev->irq_handler, dev, &dev->irqh);
 #else
 	retcode = bus_setup_intr(dev->device, dev->irqr, INTR_TYPE_TTY | INTR_MPSAFE,
-				 drm_irq_handler_wrap, dev, &dev->irqh);
+				 NULL, drm_irq_handler_wrap, dev, &dev->irqh);
 #endif
 	if (retcode != 0)
 		goto err;

==== //depot/projects/soc2006/intr_filter/dev/ed/if_ed_isa.c#2 (text+ko) ====

@@ -170,7 +170,7 @@
 	ed_alloc_irq(dev, sc->irq_rid, 0);
 
 	error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE,
-	    edintr, sc, &sc->irq_handle);
+	    NULL, edintr, sc, &sc->irq_handle);
 	if (error) {
 		ed_release_resources(dev);
 		return (error);

==== //depot/projects/soc2006/intr_filter/dev/ed/if_ed_pccard.c#2 (text+ko) ====

@@ -478,7 +478,7 @@
 		goto bad;
 
 	error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE,
-	    edintr, sc, &sc->irq_handle);
+	    NULL, edintr, sc, &sc->irq_handle);
 	if (error) {
 		device_printf(dev, "setup intr failed %d \n", error);
 		goto bad;

==== //depot/projects/soc2006/intr_filter/dev/ed/if_ed_pci.c#2 (text+ko) ====

@@ -107,7 +107,7 @@
 		return (error);
 	}
 	error = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_NET | INTR_MPSAFE,
-	    edintr, sc, &sc->irq_handle);
+	    NULL, edintr, sc, &sc->irq_handle);
 	if (error) {
 		ed_release_resources(dev);
 		return (error);

==== //depot/projects/soc2006/intr_filter/dev/em/if_em.c#3 (text+ko) ====

@@ -1976,7 +1976,7 @@
 
 #ifdef DEVICE_POLLING
 	if (sc->int_handler_tag == NULL && (error = bus_setup_intr(dev,
-	    sc->res_interrupt, INTR_TYPE_NET | INTR_MPSAFE, em_intr, sc,
+	    sc->res_interrupt, INTR_TYPE_NET | INTR_MPSAFE, NULL, em_intr, sc,
 	    &sc->int_handler_tag)) != 0) {
 		device_printf(dev, "Failed to register interrupt handler");
 		return (error);
@@ -1994,7 +1994,7 @@
 	    device_get_nameunit(sc->dev));
 	// XXX - FIX_INTR_FILTER
 	if ((error = bus_setup_intr(dev, sc->res_interrupt,
-	    INTR_TYPE_NET | INTR_FAST, (driver_intr_t *)em_intr_fast, sc,
+	    INTR_TYPE_NET | INTR_FAST, em_intr_fast, NULL, sc,
 	    &sc->int_handler_tag)) != 0) {
 		device_printf(dev, "Failed to register fast interrupt "
 			    "handler: %d\n", error);

==== //depot/projects/soc2006/intr_filter/dev/en/if_en_pci.c#2 (text+ko) ====

@@ -277,7 +277,7 @@
 	 * Do the interrupt SETUP last just before returning
 	 */
 	error = bus_setup_intr(dev, scp->irq, INTR_TYPE_NET,
-	    en_intr, sc, &scp->ih);
+	    NULL, en_intr, sc, &scp->ih);
 	if (error) {
 		en_reset(sc);
 		atm_ifdetach(sc->ifp);

==== //depot/projects/soc2006/intr_filter/dev/ep/if_ep_eisa.c#2 (text+ko) ====

@@ -217,8 +217,8 @@
 		device_printf(dev, "ep_attach() failed! (%d)\n", error);
 		goto bad;
 	}
-	if ((error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET | INTR_MPSAFE, ep_intr,
-		    sc, &sc->ep_intrhand))) {
+	if ((error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET | INTR_MPSAFE, 
+		    NULL, ep_intr, sc, &sc->ep_intrhand))) {
 		device_printf(dev, "bus_setup_intr() failed! (%d)\n", error);
 		goto bad;
 	}

==== //depot/projects/soc2006/intr_filter/dev/ep/if_ep_isa.c#2 (text+ko) ====

@@ -336,8 +336,8 @@
 		device_printf(sc->dev, "Invalid EEPROM checksum!\n");
 		goto bad;
 	}
-	if ((error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET | INTR_MPSAFE, ep_intr,
-		    sc, &sc->ep_intrhand))) {
+	if ((error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET | INTR_MPSAFE, 
+		    NULL, ep_intr, sc, &sc->ep_intrhand))) {
 		device_printf(dev, "bus_setup_intr() failed! (%d)\n", error);
 		goto bad;
 	}

==== //depot/projects/soc2006/intr_filter/dev/ep/if_ep_pccard.c#2 (text+ko) ====

@@ -204,7 +204,7 @@
 		goto bad;
 	}
 	if ((error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET | INTR_MPSAFE,
-	    ep_intr, sc, &sc->ep_intrhand))) {
+	    NULL, ep_intr, sc, &sc->ep_intrhand))) {
 		device_printf(dev, "bus_setup_intr() failed! (%d)\n", error);
 		goto bad;
 	}

==== //depot/projects/soc2006/intr_filter/dev/ex/if_ex_isa.c#2 (text+ko) ====

@@ -314,7 +314,7 @@
 	}
 
 	error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET,
-				ex_intr, (void *)sc, &sc->ih);
+				NULL, ex_intr, (void *)sc, &sc->ih);
 	if (error) {
 		device_printf(dev, "bus_setup_intr() failed!\n");
 		goto bad;

==== //depot/projects/soc2006/intr_filter/dev/ex/if_ex_pccard.c#2 (text+ko) ====

@@ -165,7 +165,7 @@
 	}
 
 	error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET,
-	    ex_intr, (void *)sc, &sc->ih);
+	    NULL, ex_intr, (void *)sc, &sc->ih);
 	if (error) {
 		device_printf(dev, "bus_setup_intr() failed!\n");
 		goto bad;

==== //depot/projects/soc2006/intr_filter/dev/fatm/if_fatm.c#2 (text+ko) ====

@@ -3060,7 +3060,7 @@
 #endif
 
 	error = bus_setup_intr(dev, sc->irqres, INTR_TYPE_NET | INTR_MPSAFE,
-	    fatm_intr, sc, &sc->ih);
+	    NULL, fatm_intr, sc, &sc->ih);
 	if (error) {
 		if_printf(ifp, "couldn't setup irq\n");
 		goto fail;

==== //depot/projects/soc2006/intr_filter/dev/fdc/fdc.c#3 (text+ko) ====

@@ -1745,11 +1745,11 @@
 		device_printf(dev, "does not respond\n");
 		return (error);
 	}
-	// XXX - FIX_INTR_FILTER
 	error = bus_setup_intr(dev, fdc->res_irq,
 	    INTR_TYPE_BIO | INTR_ENTROPY | INTR_MPSAFE |
-	    ((fdc->flags & FDC_NOFAST) ? 0 : INTR_FAST),			       
-	    ((fdc->flags & FDC_NOFAST) ? fdc_intr : (driver_intr_t *)fdc_intr_fast), 
+	    ((fdc->flags & FDC_NOFAST) ? 0 : INTR_FAST),			     
+            ((fdc->flags & FDC_NOFAST) ? NULL : fdc_intr_fast), 	    
+	    ((fdc->flags & FDC_NOFAST) ? fdc_intr : NULL), 
 			       fdc, &fdc->fdc_intr);
 	if (error) {
 		device_printf(dev, "cannot setup interrupt\n");


>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list