PERFORCE change 111913 for review

Paolo Pisati piso at FreeBSD.org
Mon Dec 18 16:05:16 PST 2006


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

Change 111913 by piso at piso_newluxor on 2006/12/19 00:05:02

	Put a check about filters: if people really want to use filters 
	on this hw, they'll have to modify the bridge driver in them.

Affected files ...

.. //depot/projects/soc2006/intr_filter/dev/sound/isa/gusc.c#4 edit
.. //depot/projects/soc2006/intr_filter/dev/sound/isa/sbc.c#5 edit
.. //depot/projects/soc2006/intr_filter/dev/sound/pci/csa.c#4 edit

Differences ...

==== //depot/projects/soc2006/intr_filter/dev/sound/isa/gusc.c#4 (text+ko) ====

@@ -424,18 +424,16 @@
 	sc_p scp = (sc_p)device_get_softc(dev);
 	devclass_t devclass;
 
+	if (filter != NULL) {
+		printf("gusc.c: we cannot use a filter here\n");
+		return (EINVAL);
+	}
 	devclass = device_get_devclass(child);
 	if (strcmp(devclass_get_name(devclass), "midi") == 0) {
-		/*
-		 * XXX_FILTER this code doesn't take care of filters.
-		 */
 		scp->midi_intr.intr = intr;
 		scp->midi_intr.arg = arg;
 		return 0;
 	} else if (strcmp(devclass_get_name(devclass), "pcm") == 0) {
-		/*
-		 * XXX_FILTER this code doesn't take care of filters.
-		 */
 		scp->pcm_intr.intr = intr;
 		scp->pcm_intr.arg = arg;
 		return 0;

==== //depot/projects/soc2006/intr_filter/dev/sound/isa/sbc.c#5 (text+ko) ====

@@ -503,13 +503,17 @@
 
 static int
 sbc_setup_intr(device_t dev, device_t child, struct resource *irq,
-   	       int flags, driver_filter_t *filter __unused, driver_intr_t *intr, 
+   	       int flags, driver_filter_t *filter, driver_intr_t *intr, 
    	       void *arg, void **cookiep)
 {
 	struct sbc_softc *scp = device_get_softc(dev);
 	struct sbc_ihl *ihl = NULL;
 	int i, ret;
 
+	if (filter != NULL) {
+		printf("sbc.c: we cannot use a filter here\n");
+		return (EINVAL);
+	}
 	sbc_lock(scp);
 	i = 0;
 	while (i < IRQ_MAX) {

==== //depot/projects/soc2006/intr_filter/dev/sound/pci/csa.c#4 (text+ko) ====

@@ -440,13 +440,17 @@
 static int
 csa_setup_intr(device_t bus, device_t child,
 	       struct resource *irq, int flags,
-	       driver_filter_t *filter __unused, driver_intr_t *intr, void *arg, 
+	       driver_filter_t *filter, driver_intr_t *intr, void *arg, 
 	       void **cookiep)
 {
 	sc_p scp;
 	csa_res *resp;
 	struct sndcard_func *func;
 
+	if (filter != NULL) {
+		printf("ata-csa.c: we cannot use a filter here\n");
+		return (EINVAL);
+	}
 	scp = device_get_softc(bus);
 	resp = &scp->res;
 
@@ -460,17 +464,11 @@
 
 	switch (func->func) {
 	case SCF_PCM:
-		/*
-		 * XXX_FILTER this code doesn't take care of filters.
-		 */
 		scp->pcmintr = intr;
 		scp->pcmintr_arg = arg;
 		break;
 
 	case SCF_MIDI:
-		/*
-		 * XXX_FILTER this code doesn't take care of filters.
-		 */
 		scp->midiintr = intr;
 		scp->midiintr_arg = arg;
 		break;


More information about the p4-projects mailing list