diff options
Diffstat (limited to 'sys/dev/sound/isa/ess.c')
-rw-r--r-- | sys/dev/sound/isa/ess.c | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/sys/dev/sound/isa/ess.c b/sys/dev/sound/isa/ess.c index 4e5977788ab7..5fd95297df79 100644 --- a/sys/dev/sound/isa/ess.c +++ b/sys/dev/sound/isa/ess.c @@ -29,6 +29,10 @@ * SUCH DAMAGE. */ +#ifdef HAVE_KERNEL_OPTION_HEADERS +#include "opt_snd.h" +#endif + #include <dev/sound/pcm/sound.h> #include <dev/sound/isa/sb.h> @@ -50,28 +54,28 @@ SND_DECLARE_FILE("$FreeBSD$"); #define ESS18XX_NEWSPEED static u_int32_t ess_pfmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S8, - AFMT_STEREO | AFMT_S8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_U16_LE, - AFMT_STEREO | AFMT_U16_LE, + SND_FORMAT(AFMT_U8, 1, 0), + SND_FORMAT(AFMT_U8, 2, 0), + SND_FORMAT(AFMT_S8, 1, 0), + SND_FORMAT(AFMT_S8, 2, 0), + SND_FORMAT(AFMT_S16_LE, 1, 0), + SND_FORMAT(AFMT_S16_LE, 2, 0), + SND_FORMAT(AFMT_U16_LE, 1, 0), + SND_FORMAT(AFMT_U16_LE, 2, 0), 0 }; static struct pcmchan_caps ess_playcaps = {6000, 48000, ess_pfmt, 0}; static u_int32_t ess_rfmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S8, - AFMT_STEREO | AFMT_S8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_U16_LE, - AFMT_STEREO | AFMT_U16_LE, + SND_FORMAT(AFMT_U8, 1, 0), + SND_FORMAT(AFMT_U8, 2, 0), + SND_FORMAT(AFMT_S8, 1, 0), + SND_FORMAT(AFMT_S8, 2, 0), + SND_FORMAT(AFMT_S16_LE, 1, 0), + SND_FORMAT(AFMT_S16_LE, 2, 0), + SND_FORMAT(AFMT_U16_LE, 1, 0), + SND_FORMAT(AFMT_U16_LE, 2, 0), 0 }; @@ -458,7 +462,7 @@ ess_setupch(struct ess_info *sc, int ch, int dir, int spd, u_int32_t fmt, int le { int play = (dir == PCMDIR_PLAY)? 1 : 0; int b16 = (fmt & AFMT_16BIT)? 1 : 0; - int stereo = (fmt & AFMT_STEREO)? 1 : 0; + int stereo = (AFMT_CHANNEL(fmt) > 1)? 1 : 0; int unsign = (fmt == AFMT_U8 || fmt == AFMT_U16_LE)? 1 : 0; u_int8_t spdval, fmtval; @@ -583,7 +587,7 @@ esschan_setformat(kobj_t obj, void *data, u_int32_t format) return 0; } -static int +static u_int32_t esschan_setspeed(kobj_t obj, void *data, u_int32_t speed) { struct ess_chinfo *ch = data; @@ -597,7 +601,7 @@ esschan_setspeed(kobj_t obj, void *data, u_int32_t speed) return ch->spd; } -static int +static u_int32_t esschan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) { struct ess_chinfo *ch = data; @@ -630,7 +634,7 @@ esschan_trigger(kobj_t obj, void *data, int go) return 0; } -static int +static u_int32_t esschan_getptr(kobj_t obj, void *data) { struct ess_chinfo *ch = data; @@ -654,7 +658,7 @@ static kobj_method_t esschan_methods[] = { KOBJMETHOD(channel_trigger, esschan_trigger), KOBJMETHOD(channel_getptr, esschan_getptr), KOBJMETHOD(channel_getcaps, esschan_getcaps), - { 0, 0 } + KOBJMETHOD_END }; CHANNEL_DECLARE(esschan); @@ -741,7 +745,7 @@ essmix_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) return left | (right << 8); } -static int +static u_int32_t essmix_setrecsrc(struct snd_mixer *m, u_int32_t src) { struct ess_info *sc = mix_getdevinfo(m); @@ -776,7 +780,7 @@ static kobj_method_t essmixer_methods[] = { KOBJMETHOD(mixer_init, essmix_init), KOBJMETHOD(mixer_set, essmix_set), KOBJMETHOD(mixer_setrecsrc, essmix_setrecsrc), - { 0, 0 } + KOBJMETHOD_END }; MIXER_DECLARE(essmixer); |