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