sound/usb/mixer_us16x08.h

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

File Facts

System
Linux kernel
Corpus path
sound/usb/mixer_us16x08.h
Extension
.h
Size
4072 bytes
Lines
123
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

struct snd_us16x08_eq_store {
	u8 val[SND_US16X08_ID_EQ_BAND_COUNT][SND_US16X08_ID_EQ_PARAM_COUNT]
		[SND_US16X08_MAX_CHANNELS];
};

struct snd_us16x08_comp_store {
	u8 val[SND_US16X08_ID_COMP_COUNT][SND_US16X08_MAX_CHANNELS];
};

struct snd_us16x08_meter_store {
	int meter_level[SND_US16X08_MAX_CHANNELS];
	int master_level[2]; /* level of meter for master output */
	int comp_index; /* round trip channel selector */
	int comp_active_index; /* channel select from user space mixer */
	int comp_level[16]; /* compressor reduction level */
	struct snd_us16x08_comp_store *comp_store;
};

struct snd_us16x08_control_params {
	const struct snd_kcontrol_new *kcontrol_new;
	int control_id;
	int type;
	int num_channels;
	const char *name;
	int default_val;
};

#define snd_us16x08_switch_info snd_ctl_boolean_mono_info

int snd_us16x08_controls_create(struct usb_mixer_interface *mixer);
#endif /* __USB_MIXER_US16X08_H */

Annotation

Implementation Notes