*参照元 [#r3e9fccb] #backlinks *説明 [#hc3ca0bd] -パス: [[linux-4.4.1/include/sound/soc.h]] -FIXME: これは何? --説明 **参考 [#ycd6cbf2] *実装 [#tc345fce] /* codec driver */ struct snd_soc_codec_driver { /* driver ops */ int (*probe)(struct snd_soc_codec *); int (*remove)(struct snd_soc_codec *); int (*suspend)(struct snd_soc_codec *); int (*resume)(struct snd_soc_codec *); struct snd_soc_component_driver component_driver; - --[[linux-4.4.1/snd_soc_codec]] --[[linux-4.4.1/snd_soc_component_driver]] /* Default control and setup, added after probe() is run */ const struct snd_kcontrol_new *controls; int num_controls; - --[[linux-4.4.1/snd_kcontrol_new]] const struct snd_soc_dapm_widget *dapm_widgets; int num_dapm_widgets; - --[[linux-4.4.1/snd_soc_dapm_widget]] const struct snd_soc_dapm_route *dapm_routes; int num_dapm_routes; - --[[linux-4.4.1/snd_soc_dapm_route]] /* codec wide operations */ int (*set_sysclk)(struct snd_soc_codec *codec, int clk_id, int source, unsigned int freq, int dir); int (*set_pll)(struct snd_soc_codec *codec, int pll_id, int source, unsigned int freq_in, unsigned int freq_out); - --[[linux-4.4.1/snd_soc_codec]] /* codec IO */ struct regmap *(*get_regmap)(struct device *); unsigned int (*read)(struct snd_soc_codec *, unsigned int); int (*write)(struct snd_soc_codec *, unsigned int, unsigned int); - --[[linux-4.4.1/regmap]] --[[linux-4.4.1/device]] --[[linux-4.4.1/snd_soc_codec]] unsigned int reg_cache_size; short reg_cache_step; short reg_word_size; const void *reg_cache_default; /* codec bias level */ int (*set_bias_level)(struct snd_soc_codec *, enum snd_soc_bias_level level); bool idle_bias_off; bool suspend_bias_off; - --[[linux-4.4.1/snd_soc_bias_level]] void (*seq_notifier)(struct snd_soc_dapm_context *, enum snd_soc_dapm_type, int); - --[[linux-4.4.1/snd_soc_dapm_context]] --[[linux-4.4.1/snd_soc_dapm_type]] bool ignore_pmdown_time; /* Doesn't benefit from pmdown delay */ }; *コメント [#ab3fbae1]