sound/usb/pcm.h

Source file repositories/reference/linux-study-clean/sound/usb/pcm.h

File Facts

System
Linux kernel
Corpus path
sound/usb/pcm.h
Extension
.h
Size
1108 bytes
Lines
30
Domain
Driver Families
Bucket
sound/usb
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __USBAUDIO_PCM_H
#define __USBAUDIO_PCM_H

void snd_usb_set_pcm_ops(struct snd_pcm *pcm, int stream);
int snd_usb_pcm_suspend(struct snd_usb_stream *as);
int snd_usb_pcm_resume(struct snd_usb_stream *as);

bool snd_usb_pcm_has_fixed_rate(struct snd_usb_substream *as);

int snd_usb_init_pitch(struct snd_usb_audio *chip,
		       const struct audioformat *fmt);
void snd_usb_preallocate_buffer(struct snd_usb_substream *subs);

int snd_usb_audioformat_set_sync_ep(struct snd_usb_audio *chip,
				    struct audioformat *fmt);

const struct audioformat *
snd_usb_find_format(struct list_head *fmt_list_head, snd_pcm_format_t format,
		    unsigned int rate, unsigned int channels, bool strict_match,
		    struct snd_usb_substream *subs);
const struct audioformat *
snd_usb_find_substream_format(struct snd_usb_substream *subs,
			      const struct snd_pcm_hw_params *params);

int snd_usb_hw_params(struct snd_usb_substream *subs,
		      struct snd_pcm_hw_params *hw_params);
int snd_usb_hw_free(struct snd_usb_substream *subs);
#endif /* __USBAUDIO_PCM_H */

Annotation

Implementation Notes