31#ifdef HAVE_KERNEL_OPTION_HEADERS
142 if (mtx_owned(mtx)) {
162 if (mtx_owned(mtx)) {
201 if ((
func == NULL) ||
205 device_set_desc(
dev,
"USB audio");
207 return (BUS_PROBE_DEFAULT);
#define PCMTRIG_COMMON(x)
struct pcmchan_matrix * m
static int mixer_setrecsrc(struct snd_mixer *mixer, u_int32_t src)
struct mtx * mixer_get_lock(struct snd_mixer *m)
int mixer_init(device_t dev, kobj_class_t cls, void *devinfo)
static int mixer_set(struct snd_mixer *m, u_int dev, u_int32_t muted, u_int lev)
int mixer_uninit(device_t dev)
void * mix_getdevinfo(struct snd_mixer *m)
void * uaudio_chan_init(struct uaudio_chan *ch, struct snd_dbuf *b, struct pcm_channel *c, int dir)
int uaudio_chan_set_param_format(struct uaudio_chan *ch, uint32_t format)
int uaudio_detach_sub(device_t dev)
int uaudio_chan_set_param_speed(struct uaudio_chan *ch, uint32_t speed)
struct pcmchan_caps * uaudio_chan_getcaps(struct uaudio_chan *ch)
void uaudio_mixer_set(struct uaudio_softc *sc, struct snd_mixer *m, unsigned type, unsigned left, unsigned right)
void uaudio_chan_start(struct uaudio_chan *ch)
int uaudio_attach_sub(device_t dev, kobj_class_t mixer_class, kobj_class_t chan_class)
void uaudio_chan_stop(struct uaudio_chan *ch)
int uaudio_chan_set_param_fragments(struct uaudio_chan *ch, uint32_t blocksize, uint32_t blockcount)
int uaudio_chan_set_param_blocksize(struct uaudio_chan *ch, uint32_t blocksize)
uint32_t uaudio_mixer_setrecsrc(struct uaudio_softc *sc, struct snd_mixer *m, uint32_t src)
int uaudio_mixer_uninit_sub(struct uaudio_softc *sc, struct snd_mixer *m)
int uaudio_mixer_init_sub(struct uaudio_softc *sc, struct snd_mixer *m)
int uaudio_chan_getptr(struct uaudio_chan *ch)
struct pcmchan_matrix * uaudio_chan_getmatrix(struct uaudio_chan *ch, uint32_t format)
int uaudio_chan_free(struct uaudio_chan *ch)
static uint32_t ua_chan_setblocksize(kobj_t obj, void *data, uint32_t blocksize)
static int ua_mixer_uninit(struct snd_mixer *m)
static int ua_mixer_init(struct snd_mixer *m)
static int ua_probe(device_t dev)
static uint32_t ua_chan_getptr(kobj_t obj, void *data)
static int ua_detach(device_t dev)
static int ua_chan_setformat(kobj_t obj, void *data, uint32_t format)
static driver_t ua_pcm_driver
static int ua_attach(device_t dev)
static struct pcmchan_caps * ua_chan_getcaps(kobj_t obj, void *data)
static kobj_method_t ua_chan_methods[]
static uint32_t ua_chan_setspeed(kobj_t obj, void *data, uint32_t speed)
static void * ua_chan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir)
static kobj_method_t ua_mixer_methods[]
static uint32_t ua_mixer_setrecsrc(struct snd_mixer *m, uint32_t src)
MODULE_VERSION(ua_pcm, 1)
static int ua_chan_free(kobj_t obj, void *data)
static int ua_chan_setfragments(kobj_t obj, void *data, uint32_t blocksize, uint32_t blockcount)
static int ua_mixer_set(struct snd_mixer *m, unsigned type, unsigned left, unsigned right)
static struct pcmchan_matrix * ua_chan_getmatrix(kobj_t obj, void *data, uint32_t format)
MODULE_DEPEND(ua_pcm, uaudio, 1, 1, 1)
DRIVER_MODULE(ua_pcm, uaudio, ua_pcm_driver, pcm_devclass, 0, 0)
static device_method_t ua_pcm_methods[]
static int ua_chan_trigger(kobj_t obj, void *data, int go)