参照元

説明

ドライバでは下記のように定義することが多い。

static const char *sinkaaa_srcsel_text[] = {
	"ValueA", "ValueB", "ValueC",
};

static SOC_ENUM_SINGLE_DECL(sinkaaa_srcsel_enum,
	REG_ADDR, REG_SHIFT,
	sinkaaa_srcsel_text);

static const struct snd_kcontrol_new sinkaaa_mux[] = {
	SOC_DAPM_ENUM("SinkAAA Source", sinkaaa_srcsel_enum),
};

//これ
static const struct snd_soc_dapm_route foo_routes[] = {
	// sink       control   source
	{ "SinkAAA", "ValueA", "SourceA" },
	{ "SinkAAA", "ValueB", "SourceB" },
	{ "SinkAAA", "ValueC", "SourceC" },
	{ "SinkBBB", NULL, "SourceD" },

	//...
};

参考

実装

/*
 * DAPM audio route definition.
 *
 * Defines an audio route originating at source via control and finishing
 * at sink.
 */
struct snd_soc_dapm_route {
	const char *sink;
	const char *control;
	const char *source;

	/* Note: currently only supported for links where source is a supply */
	int (*connected)(struct snd_soc_dapm_widget *source,
			 struct snd_soc_dapm_widget *sink);
};

コメント


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-06-22 (金) 12:36:37