diff options
| author | isaki <isaki@NetBSD.org> | 2019-06-08 08:02:36 +0000 |
|---|---|---|
| committer | isaki <isaki@NetBSD.org> | 2019-06-08 08:02:36 +0000 |
| commit | edc8f0a62a02f8cbc0110110120dcbb6a78d8818 (patch) | |
| tree | a3cc168b17f7a7c5d325d5dada52428663f43380 /sys/dev | |
| parent | 4f0ab2b08193aee906df9b6b53b4fb8fc59289a0 (diff) | |
Clean get_props().
- Make get_props() return AUDIO_PROP_{PLAYBACK,CAPTURE} properly.
This eliminates need for audio.c to take care of such (old)
drivers which don't return both of PLAYBACK and CAPTURE.
- All get_props() doesn't need to return AUDIO_PROP_MMAP.
It is handled in the audio layer now.
Diffstat (limited to 'sys/dev')
33 files changed, 127 insertions, 171 deletions
diff --git a/sys/dev/audio/audio.c b/sys/dev/audio/audio.c index f9a74ded967..327f1bac34b 100644 --- a/sys/dev/audio/audio.c +++ b/sys/dev/audio/audio.c @@ -1,4 +1,4 @@ -/* $NetBSD: audio.c,v 1.11 2019/06/06 13:08:30 isaki Exp $ */ +/* $NetBSD: audio.c,v 1.12 2019/06/08 08:02:37 isaki Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -142,7 +142,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.11 2019/06/06 13:08:30 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.12 2019/06/08 08:02:37 isaki Exp $"); #ifdef _KERNEL_OPT #include "audio.h" @@ -7163,14 +7163,6 @@ audio_get_props(struct audio_softc *sc) hw = sc->hw_if; props = hw->get_props(sc->hw_hdl); - /* - * For historical reasons, if neither playback nor capture - * properties are reported, assume both are supported. - * XXX Ideally (all) hardware driver should be updated... - */ - if ((props & (AUDIO_PROP_PLAYBACK|AUDIO_PROP_CAPTURE)) == 0) - props |= (AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE); - /* MMAP is now supported by upper layer. */ props |= AUDIO_PROP_MMAP; diff --git a/sys/dev/bluetooth/btsco.c b/sys/dev/bluetooth/btsco.c index d13f00a6240..cc4eb44c2c0 100644 --- a/sys/dev/bluetooth/btsco.c +++ b/sys/dev/bluetooth/btsco.c @@ -1,4 +1,4 @@ -/* $NetBSD: btsco.c,v 1.40 2019/05/25 04:41:53 isaki Exp $ */ +/* $NetBSD: btsco.c,v 1.41 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 2006 Itronix Inc. @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: btsco.c,v 1.40 2019/05/25 04:41:53 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: btsco.c,v 1.41 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/audioio.h> @@ -1009,7 +1009,8 @@ static int btsco_get_props(void *hdl) { - return AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_FULLDUPLEX; } static void diff --git a/sys/dev/hdaudio/hdafg.c b/sys/dev/hdaudio/hdafg.c index 5e934066e2a..3609c0095c4 100644 --- a/sys/dev/hdaudio/hdafg.c +++ b/sys/dev/hdaudio/hdafg.c @@ -1,4 +1,4 @@ -/* $NetBSD: hdafg.c,v 1.17 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: hdafg.c,v 1.18 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (c) 2009 Precedence Technologies Ltd <support@precedence.co.uk> @@ -60,7 +60,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: hdafg.c,v 1.17 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: hdafg.c,v 1.18 2019/06/08 08:02:38 isaki Exp $"); #include <sys/types.h> #include <sys/param.h> @@ -4210,7 +4210,7 @@ static int hdafg_get_props(void *opaque) { struct hdaudio_audiodev *ad = opaque; - int props = AUDIO_PROP_MMAP; + int props = 0; if (ad->ad_playback) props |= AUDIO_PROP_PLAYBACK; diff --git a/sys/dev/ic/am7930.c b/sys/dev/ic/am7930.c index 081dd416ee9..f12d5284a8c 100644 --- a/sys/dev/ic/am7930.c +++ b/sys/dev/ic/am7930.c @@ -1,4 +1,4 @@ -/* $NetBSD: am7930.c,v 1.58 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: am7930.c,v 1.59 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (c) 1995 Rolf Grossmann @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: am7930.c,v 1.58 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: am7930.c,v 1.59 2019/06/08 08:02:38 isaki Exp $"); #include "audio.h" #if NAUDIO > 0 @@ -333,7 +333,9 @@ am7930_halt_input(void *addr) int am7930_get_props(void *addr) { - return AUDIO_PROP_FULLDUPLEX; + + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_FULLDUPLEX; } /* diff --git a/sys/dev/ic/arcofi.c b/sys/dev/ic/arcofi.c index 290fe1096ef..49b0cc72128 100644 --- a/sys/dev/ic/arcofi.c +++ b/sys/dev/ic/arcofi.c @@ -1,4 +1,4 @@ -/* $NetBSD: arcofi.c,v 1.2 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: arcofi.c,v 1.3 2019/06/08 08:02:38 isaki Exp $ */ /* $OpenBSD: arcofi.c,v 1.6 2013/05/15 08:29:24 ratchov Exp $ */ /* @@ -984,7 +984,7 @@ static int arcofi_get_props(void *v) { - return 0; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE; } static void diff --git a/sys/dev/ic/cs4231.c b/sys/dev/ic/cs4231.c index 4fd53a53004..1b3c4366d10 100644 --- a/sys/dev/ic/cs4231.c +++ b/sys/dev/ic/cs4231.c @@ -1,4 +1,4 @@ -/* $NetBSD: cs4231.c,v 1.30 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: cs4231.c,v 1.31 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: cs4231.c,v 1.30 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cs4231.c,v 1.31 2019/06/08 08:02:38 isaki Exp $"); #include "audio.h" #if NAUDIO > 0 @@ -423,7 +423,8 @@ int cs4231_get_props(void *addr) { - return AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_FULLDUPLEX; } int diff --git a/sys/dev/ic/interwave.c b/sys/dev/ic/interwave.c index e4f498e8f5b..1c3871ae3db 100644 --- a/sys/dev/ic/interwave.c +++ b/sys/dev/ic/interwave.c @@ -1,4 +1,4 @@ -/* $NetBSD: interwave.c,v 1.41 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: interwave.c,v 1.42 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (c) 1997, 1999, 2008 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: interwave.c,v 1.41 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: interwave.c,v 1.42 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1452,7 +1452,7 @@ iw_get_props(void *addr) struct iw_softc *sc; sc = addr; - return AUDIO_PROP_MMAP | + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | (sc->sc_fullduplex ? AUDIO_PROP_FULLDUPLEX : 0); } diff --git a/sys/dev/ic/tms320av110.c b/sys/dev/ic/tms320av110.c index 186f2f4bbc3..bb3af6fbbbe 100644 --- a/sys/dev/ic/tms320av110.c +++ b/sys/dev/ic/tms320av110.c @@ -1,4 +1,4 @@ -/* $NetBSD: tms320av110.c,v 1.26 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: tms320av110.c,v 1.27 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: tms320av110.c,v 1.26 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tms320av110.c,v 1.27 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -319,7 +319,8 @@ tav_round_blocksize(void *hdl, int size, int mode, const audio_params_t *param) int tav_get_props(void *hdl) { - return 0; + + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE; } void diff --git a/sys/dev/isa/ad1848_isa.c b/sys/dev/isa/ad1848_isa.c index 08da715886b..6d7eed466fa 100644 --- a/sys/dev/isa/ad1848_isa.c +++ b/sys/dev/isa/ad1848_isa.c @@ -1,4 +1,4 @@ -/* $NetBSD: ad1848_isa.c,v 1.39 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: ad1848_isa.c,v 1.40 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 1999, 2008 The NetBSD Foundation, Inc. @@ -95,7 +95,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ad1848_isa.c,v 1.39 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ad1848_isa.c,v 1.40 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -783,6 +783,6 @@ ad1848_isa_get_props(void *addr) struct ad1848_isa_softc *isc; isc = addr; - return AUDIO_PROP_MMAP | + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | (isc->sc_playdrq != isc->sc_recdrq ? AUDIO_PROP_FULLDUPLEX : 0); } diff --git a/sys/dev/isa/aria.c b/sys/dev/isa/aria.c index 5f242f508e6..c4881d49630 100644 --- a/sys/dev/isa/aria.c +++ b/sys/dev/isa/aria.c @@ -1,4 +1,4 @@ -/* $NetBSD: aria.c,v 1.40 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: aria.c,v 1.41 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 1995, 1996, 1998 The NetBSD Foundation, Inc. @@ -45,7 +45,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: aria.c,v 1.40 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: aria.c,v 1.41 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -543,7 +543,7 @@ aria_get_props(void *addr) { /* XXX This driver doesn't seem to be written as full duplex. */ - return 0; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE; } int diff --git a/sys/dev/isa/ess.c b/sys/dev/isa/ess.c index 351d387c3fe..7783c17aee2 100644 --- a/sys/dev/isa/ess.c +++ b/sys/dev/isa/ess.c @@ -1,4 +1,4 @@ -/* $NetBSD: ess.c,v 1.85 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: ess.c,v 1.86 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright 1997 @@ -66,7 +66,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ess.c,v 1.85 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ess.c,v 1.86 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -2177,14 +2177,15 @@ int ess_1788_get_props(void *addr) { - return AUDIO_PROP_MMAP; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE; } int ess_1888_get_props(void *addr) { - return AUDIO_PROP_MMAP | AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_FULLDUPLEX; } void diff --git a/sys/dev/isa/gus.c b/sys/dev/isa/gus.c index 36943a13cfc..9d661546167 100644 --- a/sys/dev/isa/gus.c +++ b/sys/dev/isa/gus.c @@ -1,4 +1,4 @@ -/* $NetBSD: gus.c,v 1.116 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: gus.c,v 1.117 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 1996, 1999, 2008 The NetBSD Foundation, Inc. @@ -88,7 +88,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: gus.c,v 1.116 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gus.c,v 1.117 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -3620,7 +3620,7 @@ gus_get_props(void *addr) struct gus_softc *sc; sc = addr; - return AUDIO_PROP_MMAP | + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | (sc->sc_recdrq == sc->sc_playdrq ? 0 : AUDIO_PROP_FULLDUPLEX); } diff --git a/sys/dev/isa/sbdsp.c b/sys/dev/isa/sbdsp.c index 410c44ad5b7..8841c087f46 100644 --- a/sys/dev/isa/sbdsp.c +++ b/sys/dev/isa/sbdsp.c @@ -1,4 +1,4 @@ -/* $NetBSD: sbdsp.c,v 1.140 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: sbdsp.c,v 1.141 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 1999, 2008 The NetBSD Foundation, Inc. @@ -74,7 +74,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sbdsp.c,v 1.140 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sbdsp.c,v 1.141 2019/06/08 08:02:38 isaki Exp $"); #include "midi.h" #include "mpu.h" @@ -2480,7 +2480,7 @@ sbdsp_get_props(void *addr) int prop; sc = addr; - prop = AUDIO_PROP_MMAP; + prop = AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE; /* Prior to the SB16, it has only one clock */ if (ISSB16CLASS(sc)) diff --git a/sys/dev/pci/auacer.c b/sys/dev/pci/auacer.c index 999081de8d2..8e7661a8eb2 100644 --- a/sys/dev/pci/auacer.c +++ b/sys/dev/pci/auacer.c @@ -1,4 +1,4 @@ -/* $NetBSD: auacer.c,v 1.37 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: auacer.c,v 1.38 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 2004, 2008 The NetBSD Foundation, Inc. @@ -44,7 +44,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: auacer.c,v 1.37 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: auacer.c,v 1.38 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -712,19 +712,9 @@ auacer_round_buffersize(void *v, int direction, size_t size) static int auacer_get_props(void *v) { - struct auacer_softc *sc; - int props; - sc = v; - props = AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; - /* - * Even if the codec is fixed-rate, set_param() succeeds for any sample - * rate because of aurateconv. Applications can't know what rate the - * device can process in the case of mmap(). - */ - if (!AC97_IS_FIXED_RATE(sc->codec_if)) - props |= AUDIO_PROP_MMAP; - return props; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static void diff --git a/sys/dev/pci/auich.c b/sys/dev/pci/auich.c index 1801475eba3..a29973b30fc 100644 --- a/sys/dev/pci/auich.c +++ b/sys/dev/pci/auich.c @@ -1,4 +1,4 @@ -/* $NetBSD: auich.c,v 1.156 2019/05/11 02:34:19 christos Exp $ */ +/* $NetBSD: auich.c,v 1.157 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 2000, 2004, 2005, 2008 The NetBSD Foundation, Inc. @@ -111,7 +111,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: auich.c,v 1.156 2019/05/11 02:34:19 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: auich.c,v 1.157 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1206,20 +1206,9 @@ auich_round_buffersize(void *v, int direction, size_t size) static int auich_get_props(void *v) { - struct auich_softc *sc; - int props; - props = AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; - sc = v; - /* - * Even if the codec is fixed-rate, set_param() succeeds for any sample - * rate because of aurateconv. Applications can't know what rate the - * device can process in the case of mmap(). - */ - if (!AC97_IS_FIXED_RATE(sc->codec_if) || - sc->sc_codectype == AC97_CODEC_TYPE_MODEM) - props |= AUDIO_PROP_MMAP; - return props; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static int diff --git a/sys/dev/pci/auixp.c b/sys/dev/pci/auixp.c index 2f824081eab..0c763b908d3 100644 --- a/sys/dev/pci/auixp.c +++ b/sys/dev/pci/auixp.c @@ -1,4 +1,4 @@ -/* $NetBSD: auixp.c,v 1.46 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: auixp.c,v 1.47 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (c) 2004, 2005 Reinoud Zandijk <reinoud@netbsd.org> @@ -50,7 +50,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: auixp.c,v 1.46 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: auixp.c,v 1.47 2019/06/08 08:02:38 isaki Exp $"); #include <sys/types.h> #include <sys/errno.h> @@ -559,7 +559,8 @@ static int auixp_get_props(void *hdl) { - return AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } diff --git a/sys/dev/pci/autri.c b/sys/dev/pci/autri.c index e7ce7ee729c..a9967de2ee2 100644 --- a/sys/dev/pci/autri.c +++ b/sys/dev/pci/autri.c @@ -1,4 +1,4 @@ -/* $NetBSD: autri.c,v 1.57 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: autri.c,v 1.58 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (c) 2001 SOMEYA Yoshihiko and KUROSAWA Takahiro. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: autri.c,v 1.57 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: autri.c,v 1.58 2019/06/08 08:02:38 isaki Exp $"); #include "midi.h" @@ -1061,8 +1061,9 @@ autri_find_dma(struct autri_softc *sc, void *addr) static int autri_get_props(void *addr) { - return AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT | - AUDIO_PROP_FULLDUPLEX; + + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static void diff --git a/sys/dev/pci/auvia.c b/sys/dev/pci/auvia.c index dc13f0e73b3..a803141774a 100644 --- a/sys/dev/pci/auvia.c +++ b/sys/dev/pci/auvia.c @@ -1,4 +1,4 @@ -/* $NetBSD: auvia.c,v 1.83 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: auvia.c,v 1.84 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 2000, 2008 The NetBSD Foundation, Inc. @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: auvia.c,v 1.83 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: auvia.c,v 1.84 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -971,19 +971,9 @@ auvia_free(void *addr, void *ptr, size_t size) static int auvia_get_props(void *addr) { - struct auvia_softc *sc; - int props; - props = AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; - sc = addr; - /* - * Even if the codec is fixed-rate, set_param() succeeds for any sample - * rate because of aurateconv. Applications can't know what rate the - * device can process in the case of mmap(). - */ - if (!AC97_IS_FIXED_RATE(sc->codec_if)) - props |= AUDIO_PROP_MMAP; - return props; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static void diff --git a/sys/dev/pci/azalia.c b/sys/dev/pci/azalia.c index 43a287af7b0..48ba674171c 100644 --- a/sys/dev/pci/azalia.c +++ b/sys/dev/pci/azalia.c @@ -1,4 +1,4 @@ -/* $NetBSD: azalia.c,v 1.87 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: azalia.c,v 1.88 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 2005, 2008 The NetBSD Foundation, Inc. @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: azalia.c,v 1.87 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: azalia.c,v 1.88 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/device.h> @@ -2275,7 +2275,9 @@ azalia_round_buffersize(void *v, int dir, size_t size) static int azalia_get_props(void *v) { - return AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; + + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static int diff --git a/sys/dev/pci/cmpci.c b/sys/dev/pci/cmpci.c index faadafcdf3a..e589d4be759 100644 --- a/sys/dev/pci/cmpci.c +++ b/sys/dev/pci/cmpci.c @@ -1,4 +1,4 @@ -/* $NetBSD: cmpci.c,v 1.55 2019/05/12 13:40:19 maya Exp $ */ +/* $NetBSD: cmpci.c,v 1.56 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (c) 2000, 2001, 2008 The NetBSD Foundation, Inc. @@ -43,7 +43,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: cmpci.c,v 1.55 2019/05/12 13:40:19 maya Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cmpci.c,v 1.56 2019/06/08 08:02:38 isaki Exp $"); #if defined(AUDIO_DEBUG) || defined(DEBUG) #define DPRINTF(x) if (cmpcidebug) printf x @@ -1559,7 +1559,8 @@ static int cmpci_get_props(void *handle) { - return AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static int diff --git a/sys/dev/pci/cs428x.c b/sys/dev/pci/cs428x.c index b8dce718668..a25d729865b 100644 --- a/sys/dev/pci/cs428x.c +++ b/sys/dev/pci/cs428x.c @@ -1,4 +1,4 @@ -/* $NetBSD: cs428x.c,v 1.19 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: cs428x.c,v 1.20 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (c) 2000 Tatoku Ogaito. All rights reserved. @@ -33,7 +33,7 @@ /* Common functions for CS4280 and CS4281 */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: cs428x.c,v 1.19 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cs428x.c,v 1.20 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -166,14 +166,9 @@ cs428x_round_buffersize(void *addr, int direction, int cs428x_get_props(void *addr) { - int retval; - retval = AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; -#ifdef MMAP_READY - /* How can I mmap ? */ - retval |= AUDIO_PROP_MMAP; -#endif - return retval; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } /* AC97 */ diff --git a/sys/dev/pci/eap.c b/sys/dev/pci/eap.c index 1c0e9176b10..059d12f3c08 100644 --- a/sys/dev/pci/eap.c +++ b/sys/dev/pci/eap.c @@ -1,4 +1,4 @@ -/* $NetBSD: eap.c,v 1.100 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: eap.c,v 1.101 2019/06/08 08:02:38 isaki Exp $ */ /* $OpenBSD: eap.c,v 1.6 1999/10/05 19:24:42 csapuntz Exp $ */ /* @@ -56,7 +56,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: eap.c,v 1.100 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: eap.c,v 1.101 2019/06/08 08:02:38 isaki Exp $"); #include "midi.h" #include "joy_eap.h" @@ -1647,8 +1647,8 @@ eap_get_props(void *addr) ei = addr; sc = device_private(ei->parent); - prop = AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT | - AUDIO_PROP_FULLDUPLEX; + prop = AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; /* The es1370 only has one clock, so it's not independent */ if (!sc->sc_1371 && ei->index == EAP_DAC2) prop &= ~AUDIO_PROP_INDEPENDENT; diff --git a/sys/dev/pci/emuxki.c b/sys/dev/pci/emuxki.c index 2dfda46cdf8..6a700e20f31 100644 --- a/sys/dev/pci/emuxki.c +++ b/sys/dev/pci/emuxki.c @@ -1,4 +1,4 @@ -/* $NetBSD: emuxki.c,v 1.69 2019/05/29 13:12:59 isaki Exp $ */ +/* $NetBSD: emuxki.c,v 1.70 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 2001, 2007 The NetBSD Foundation, Inc. @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: emuxki.c,v 1.69 2019/05/29 13:12:59 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: emuxki.c,v 1.70 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/device.h> @@ -1234,7 +1234,8 @@ static int emuxki_get_props(void *hdl) { - return AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static int diff --git a/sys/dev/pci/esa.c b/sys/dev/pci/esa.c index b761edc1639..429f5be5448 100644 --- a/sys/dev/pci/esa.c +++ b/sys/dev/pci/esa.c @@ -1,4 +1,4 @@ -/* $NetBSD: esa.c,v 1.64 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: esa.c,v 1.65 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (c) 2001-2008 Jared D. McNeill <jmcneill@invisible.ca> @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: esa.c,v 1.64 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: esa.c,v 1.65 2019/06/08 08:02:38 isaki Exp $"); #include <sys/types.h> #include <sys/errno.h> @@ -475,7 +475,8 @@ static int esa_get_props(void *hdl) { - return AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static int diff --git a/sys/dev/pci/esm.c b/sys/dev/pci/esm.c index f940a2db655..9f1885d5369 100644 --- a/sys/dev/pci/esm.c +++ b/sys/dev/pci/esm.c @@ -1,4 +1,4 @@ -/* $NetBSD: esm.c,v 1.62 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: esm.c,v 1.63 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 2002, 2003 Matt Fredette @@ -66,7 +66,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: esm.c,v 1.62 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: esm.c,v 1.63 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1304,7 +1304,8 @@ int esm_get_props(void *sc) { - return AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } diff --git a/sys/dev/pci/eso.c b/sys/dev/pci/eso.c index c2609d2199c..ccdf46f5bdc 100644 --- a/sys/dev/pci/eso.c +++ b/sys/dev/pci/eso.c @@ -1,4 +1,4 @@ -/* $NetBSD: eso.c,v 1.70 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: eso.c,v 1.71 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -62,7 +62,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: eso.c,v 1.70 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: eso.c,v 1.71 2019/06/08 08:02:38 isaki Exp $"); #include "mpu.h" @@ -1625,8 +1625,8 @@ static int eso_get_props(void *hdl) { - return AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT | - AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static int diff --git a/sys/dev/pci/fms.c b/sys/dev/pci/fms.c index f3e48ee79ec..61b0a23fcc0 100644 --- a/sys/dev/pci/fms.c +++ b/sys/dev/pci/fms.c @@ -1,4 +1,4 @@ -/* $NetBSD: fms.c,v 1.46 2019/05/08 13:40:18 isaki Exp $ */ +/* $NetBSD: fms.c,v 1.47 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 1999, 2008 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fms.c,v 1.46 2019/05/08 13:40:18 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fms.c,v 1.47 2019/06/08 08:02:38 isaki Exp $"); #include "mpu.h" @@ -665,8 +665,9 @@ fms_free(void *addr, void *ptr, size_t size) static int fms_get_props(void *addr) { - return AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT | - AUDIO_PROP_FULLDUPLEX; + + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static int diff --git a/sys/dev/pci/gcscaudio.c b/sys/dev/pci/gcscaudio.c index 1077899aae2..8bd5d875588 100644 --- a/sys/dev/pci/gcscaudio.c +++ b/sys/dev/pci/gcscaudio.c @@ -1,4 +1,4 @@ -/* $NetBSD: gcscaudio.c,v 1.17 2019/05/08 13:40:19 isaki Exp $ */ +/* $NetBSD: gcscaudio.c,v 1.18 2019/06/08 08:02:38 isaki Exp $ */ /*- * Copyright (c) 2008 SHIMIZU Ryo <ryo@nerv.org> @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: gcscaudio.c,v 1.17 2019/05/08 13:40:19 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gcscaudio.c,v 1.18 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -684,19 +684,9 @@ gcscaudio_round_buffersize(void *addr, int direction, size_t size) static int gcscaudio_get_props(void *addr) { - struct gcscaudio_softc *sc; - int props; - sc = (struct gcscaudio_softc *)addr; - props = AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; - /* - * Even if the codec is fixed-rate, set_param() succeeds for any sample - * rate because of aurateconv. Applications can't know what rate the - * device can process in the case of mmap(). - */ - if (!AC97_IS_FIXED_RATE(sc->codec_if)) - props |= AUDIO_PROP_MMAP; - return props; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static int diff --git a/sys/dev/pci/neo.c b/sys/dev/pci/neo.c index de0a57946db..84fee7f43ed 100644 --- a/sys/dev/pci/neo.c +++ b/sys/dev/pci/neo.c @@ -1,4 +1,4 @@ -/* $NetBSD: neo.c,v 1.53 2019/05/08 13:40:19 isaki Exp $ */ +/* $NetBSD: neo.c,v 1.54 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (c) 1999 Cameron Grant <gandalf@vilnya.demon.co.uk> @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: neo.c,v 1.53 2019/05/08 13:40:19 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: neo.c,v 1.54 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -948,8 +948,8 @@ static int neo_get_props(void *addr) { - return AUDIO_PROP_INDEPENDENT | AUDIO_PROP_MMAP | - AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static void diff --git a/sys/dev/pci/sv.c b/sys/dev/pci/sv.c index 1cb91363b78..c22e817d9c4 100644 --- a/sys/dev/pci/sv.c +++ b/sys/dev/pci/sv.c @@ -1,4 +1,4 @@ -/* $NetBSD: sv.c,v 1.55 2019/05/08 13:40:19 isaki Exp $ */ +/* $NetBSD: sv.c,v 1.56 2019/06/08 08:02:38 isaki Exp $ */ /* $OpenBSD: sv.c,v 1.2 1998/07/13 01:50:15 csapuntz Exp $ */ /* @@ -67,7 +67,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sv.c,v 1.55 2019/05/08 13:40:19 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sv.c,v 1.56 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1352,7 +1352,9 @@ sv_free(void *addr, void *ptr, size_t size) static int sv_get_props(void *addr) { - return AUDIO_PROP_MMAP | AUDIO_PROP_FULLDUPLEX; + + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_FULLDUPLEX; } static void diff --git a/sys/dev/pci/yds.c b/sys/dev/pci/yds.c index 4cd63464f71..adc61095ced 100644 --- a/sys/dev/pci/yds.c +++ b/sys/dev/pci/yds.c @@ -1,4 +1,4 @@ -/* $NetBSD: yds.c,v 1.63 2019/05/25 04:25:30 isaki Exp $ */ +/* $NetBSD: yds.c,v 1.64 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (c) 2000, 2001 Kazuki Sakamoto and Minoura Makoto. @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: yds.c,v 1.63 2019/05/25 04:25:30 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: yds.c,v 1.64 2019/06/08 08:02:38 isaki Exp $"); #include "mpu.h" @@ -1728,8 +1728,8 @@ static int yds_get_props(void *addr) { - return AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT | - AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_INDEPENDENT | AUDIO_PROP_FULLDUPLEX; } static void diff --git a/sys/dev/sbus/dbri.c b/sys/dev/sbus/dbri.c index 3048cad6ca7..7dfa2980cb7 100644 --- a/sys/dev/sbus/dbri.c +++ b/sys/dev/sbus/dbri.c @@ -1,4 +1,4 @@ -/* $NetBSD: dbri.c,v 1.40 2019/05/08 13:40:19 isaki Exp $ */ +/* $NetBSD: dbri.c,v 1.41 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (C) 1997 Rudolf Koenig (rfkoenig@immd4.informatik.uni-erlangen.de) @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dbri.c,v 1.40 2019/05/08 13:40:19 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dbri.c,v 1.41 2019/06/08 08:02:38 isaki Exp $"); #include "audio.h" #if NAUDIO > 0 @@ -1856,7 +1856,8 @@ static int dbri_get_props(void *hdl) { - return AUDIO_PROP_MMAP | AUDIO_PROP_FULLDUPLEX; + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE | + AUDIO_PROP_FULLDUPLEX; } static int diff --git a/sys/dev/tc/bba.c b/sys/dev/tc/bba.c index 992ed6c1ea4..c25d6a39c15 100644 --- a/sys/dev/tc/bba.c +++ b/sys/dev/tc/bba.c @@ -1,4 +1,4 @@ -/* $NetBSD: bba.c,v 1.43 2019/05/08 13:40:19 isaki Exp $ */ +/* $NetBSD: bba.c,v 1.44 2019/06/08 08:02:38 isaki Exp $ */ /* * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ /* maxine/alpha baseboard audio (bba) */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bba.c,v 1.43 2019/05/08 13:40:19 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bba.c,v 1.44 2019/06/08 08:02:38 isaki Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -138,7 +138,6 @@ static int bba_getdev(void *, struct audio_device *); static void *bba_allocm(void *, int, size_t); static void bba_freem(void *, void *, size_t); static size_t bba_round_buffersize(void *, int, size_t); -static int bba_get_props(void *); static int bba_trigger_output(void *, void *, void *, int, void (*)(void *), void *, const audio_params_t *); @@ -164,7 +163,7 @@ static const struct audio_hw_if sa_hw_if = { .allocm = bba_allocm, /* md */ .freem = bba_freem, /* md */ .round_buffersize = bba_round_buffersize, /* md */ - .get_props = bba_get_props, + .get_props = am7930_get_props, .trigger_output = bba_trigger_output, /* md */ .trigger_input = bba_trigger_input, /* md */ .get_locks = bba_get_locks, @@ -619,13 +618,6 @@ bba_intr(void *addr) } static int -bba_get_props(void *addr) -{ - - return AUDIO_PROP_MMAP | am7930_get_props(addr); -} - -static int bba_query_format(void *addr, audio_format_query_t *afp) { |
