*参照元 [#yb0b820e] #backlinks *説明 [#xbc11514] -パス: [[linux-4.4.1/include/sound/soc.h]] -FIXME: これは何? --説明 **参考 [#leda12a0] *実装 [#e84e328e] /* SoC card */ struct snd_soc_card { const char *name; const char *long_name; const char *driver_name; struct device *dev; struct snd_card *snd_card; struct module *owner; - --[[linux-4.4.1/device]] --[[linux-4.4.1/snd_card]] --[[linux-4.4.1/module]] struct mutex mutex; struct mutex dapm_mutex; - --[[linux-4.4.1/mutex]] bool instantiated; int (*probe)(struct snd_soc_card *card); int (*late_probe)(struct snd_soc_card *card); int (*remove)(struct snd_soc_card *card); - --[[linux-4.4.1/snd_soc_card]] /* the pre and post PM functions are used to do any PM work before and * after the codec and DAI's do any PM work. */ int (*suspend_pre)(struct snd_soc_card *card); int (*suspend_post)(struct snd_soc_card *card); int (*resume_pre)(struct snd_soc_card *card); int (*resume_post)(struct snd_soc_card *card); /* callbacks */ int (*set_bias_level)(struct snd_soc_card *, struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level); int (*set_bias_level_post)(struct snd_soc_card *, struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level); long pmdown_time; - --[[linux-4.4.1/snd_soc_dapm_context]] --[[linux-4.4.1/snd_soc_bias_level]] /* CPU <--> Codec DAI links */ struct snd_soc_dai_link *dai_link; int num_links; struct snd_soc_pcm_runtime *rtd; int num_rtd; - --[[linux-4.4.1/snd_soc_dai_link]] --[[linux-4.4.1/snd_soc_pcm_runtime]] /* optional codec specific configuration */ struct snd_soc_codec_conf *codec_conf; int num_configs; - --[[linux-4.4.1/snd_soc_codec_conf]] /* * optional auxiliary devices such as amplifiers or codecs with DAI * link unused */ struct snd_soc_aux_dev *aux_dev; int num_aux_devs; struct snd_soc_pcm_runtime *rtd_aux; int num_aux_rtd; - --[[linux-4.4.1/snd_soc_aux_dev]] --[[linux-4.4.1/snd_soc_pcm_runtime]] const struct snd_kcontrol_new *controls; int num_controls; - --[[linux-4.4.1/snd_kcontrol_new]] /* * Card-specific routes and widgets. * Note: of_dapm_xxx for Device Tree; Otherwise for driver build-in. */ 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]] const struct snd_soc_dapm_widget *of_dapm_widgets; int num_of_dapm_widgets; const struct snd_soc_dapm_route *of_dapm_routes; int num_of_dapm_routes; bool fully_routed; struct work_struct deferred_resume_work; - --[[linux-4.4.1/deferred_resume_work]] /* lists of probed devices belonging to this card */ struct list_head codec_dev_list; - --[[linux-4.4.1/list_head]] struct list_head widgets; struct list_head paths; struct list_head dapm_list; struct list_head dapm_dirty; /* attached dynamic objects */ struct list_head dobj_list; /* Generic DAPM context for the card */ struct snd_soc_dapm_context dapm; struct snd_soc_dapm_stats dapm_stats; struct snd_soc_dapm_update *update; - --[[linux-4.4.1/snd_soc_dapm_context]] --[[linux-4.4.1/snd_soc_dapm_stats]] --[[linux-4.4.1/snd_soc_dapm_update]] #ifdef CONFIG_DEBUG_FS - --[[linux-4.4.1/CONFIG_DEBUG_FS]] struct dentry *debugfs_card_root; struct dentry *debugfs_pop_time; - --[[linux-4.4.1/dentry]] #endif u32 pop_time; void *drvdata; }; *コメント [#a7d21e68]