Примеры макросов в кернеле

Author: Штирлиц [352 views] 2013-04-16 10:32:21
In response to: с ALSA кто-нибудь знаком? by Штирлиц, 2013-04-16 10:29:36

static const struct soc_enum adc_enum =
SOC_ENUM_SINGLE(SGTL5000_CHIP_ANA_CTRL, 2, 2, adc_mux_text);

static const struct soc_enum dac_enum =
SOC_ENUM_SINGLE(SGTL5000_CHIP_ANA_CTRL, 6, 2, dac_mux_text);

static const struct snd_kcontrol_new adc_mux =
SOC_DAPM_ENUM("ADC Mux", adc_enum);

static const struct snd_kcontrol_new dac_mux =
SOC_DAPM_ENUM("DAC Mux", dac_enum);

static const struct snd_soc_dapm_widget sgtl5000_dapm_widgets[] = {
SND_SOC_DAPM_INPUT("LINE_IN"),
SND_SOC_DAPM_INPUT("MIC_IN"),

SND_SOC_DAPM_OUTPUT("HP_OUT"),
SND_SOC_DAPM_OUTPUT("LINE_OUT"),

SND_SOC_DAPM_PGA("HP", SGTL5000_CHIP_ANA_CTRL, 4, 1, NULL, 0),
SND_SOC_DAPM_PGA("LO", SGTL5000_CHIP_ANA_CTRL, 8, 1, NULL, 0),

SND_SOC_DAPM_MUX("ADC Mux", SND_SOC_NOPM, 0, 0, &adc_mux),
SND_SOC_DAPM_MUX("DAC Mux", SND_SOC_NOPM, 0, 0, &dac_mux),

SND_SOC_DAPM_ADC("ADC", "Capture", SGTL5000_CHIP_DIG_POWER, 6, 0),
SND_SOC_DAPM_DAC("DAC", "Playback", SND_SOC_NOPM, 0, 0),
};

static const struct snd_soc_dapm_route audio_map[] = {
{"ADC Mux", "LINE_IN", "LINE_IN"},
{"ADC Mux", "MIC_IN", "MIC_IN"},
{"ADC", NULL, "ADC Mux"},
{"DAC Mux", "DAC", "DAC"},
{"DAC Mux", "LINE_IN", "LINE_IN"},
{"LO", NULL, "DAC"},
{"HP", NULL, "DAC Mux"},
{"LINE_OUT", NULL, "LO"},
{"HP_OUT", NULL, "HP"},
};

Reply
|
Reply to sender (private) |
Synchronize | Thread