version 1.32, 1997/07/28 20:56:18 |
version 1.32.2.1, 1997/08/23 07:13:25 |
Line 99 struct pas_softc { |
|
Line 99 struct pas_softc { |
|
int rev; |
int rev; |
}; |
}; |
|
|
int pasopen __P((dev_t, int)); |
|
int pas_getdev __P((void *, struct audio_device *)); |
int pas_getdev __P((void *, struct audio_device *)); |
void pasconf __P((int, int, int, int)); |
void pasconf __P((int, int, int, int)); |
|
|
Line 109 void pasconf __P((int, int, int, int)); |
|
Line 108 void pasconf __P((int, int, int, int)); |
|
*/ |
*/ |
|
|
struct audio_hw_if pas_hw_if = { |
struct audio_hw_if pas_hw_if = { |
pasopen, |
sbdsp_open, |
sbdsp_close, |
sbdsp_close, |
0, |
0, |
sbdsp_query_encoding, |
sbdsp_query_encoding, |
Line 138 struct audio_hw_if pas_hw_if = { |
|
Line 137 struct audio_hw_if pas_hw_if = { |
|
sb_free, |
sb_free, |
sb_round, |
sb_round, |
sb_mappage, |
sb_mappage, |
AUDIO_PROP_MMAP |
sbdsp_get_props, |
}; |
}; |
|
|
/* The Address Translation code is used to convert I/O register addresses to |
/* The Address Translation code is used to convert I/O register addresses to |
Line 449 pasattach(parent, self, aux) |
|
Line 448 pasattach(parent, self, aux) |
|
register struct pas_softc *sc = (struct pas_softc *)self; |
register struct pas_softc *sc = (struct pas_softc *)self; |
struct isa_attach_args *ia = (struct isa_attach_args *)aux; |
struct isa_attach_args *ia = (struct isa_attach_args *)aux; |
register int iobase = ia->ia_iobase; |
register int iobase = ia->ia_iobase; |
int err; |
|
|
|
sc->sc_sbdsp.sc_iobase = iobase; |
sc->sc_sbdsp.sc_iobase = iobase; |
sc->sc_sbdsp.sc_ih = isa_intr_establish(ia->ia_ic, ia->ia_irq, |
sc->sc_sbdsp.sc_ih = isa_intr_establish(ia->ia_ic, ia->ia_irq, |
Line 465 pasattach(parent, self, aux) |
|
Line 463 pasattach(parent, self, aux) |
|
sprintf(pas_device.name, "pas,%s", pasnames[sc->model]); |
sprintf(pas_device.name, "pas,%s", pasnames[sc->model]); |
sprintf(pas_device.version, "%d", sc->rev); |
sprintf(pas_device.version, "%d", sc->rev); |
|
|
if ((err = audio_hardware_attach(&pas_hw_if, &sc->sc_sbdsp)) != 0) |
audio_attach_mi(&pas_hw_if, 0, &sc->sc_sbdsp, &sc->sc_sbdsp.sc_dev); |
printf("pas: could not attach to audio pseudo-device driver (%d)\n", err); |
|
} |
|
|
|
int |
|
pasopen(dev, flags) |
|
dev_t dev; |
|
int flags; |
|
{ |
|
struct pas_softc *sc; |
|
int unit = AUDIOUNIT(dev); |
|
|
|
if (unit >= pas_cd.cd_ndevs) |
|
return ENODEV; |
|
|
|
sc = pas_cd.cd_devs[unit]; |
|
if (!sc) |
|
return ENXIO; |
|
|
|
return sbdsp_open(&sc->sc_sbdsp, dev, flags); |
|
} |
} |
|
|
int |
int |