*参照元 [#wb4be31e]
#backlinks

*説明 [#xba1b1fd]
-パス: [[linux-4.4.1/include/sound/soc-dai.h]]

-FIXME: これは何?
--説明


**参考: private_data について [#o59f0f56]

-取得: snd_soc_dai_get_drvdata()
--内部の struct device *dev のプライベートデータを返すだけ。
-設定: なし
--強いて言うなら dev_set_drvdata() か?
--FIXME: device は何が使われる?
ドライバが snd_soc_register_component() に渡した struct device * が使われる。
--ドライバが snd_soc_register_component() に渡した struct device * が使われる。
 snd_soc_register_component()
  -> snd_soc_component_initialize()
     引数に渡した struct device * が、
     struct snd_soc_component の struct device *dev にコピーされる。
  -> snd_soc_register_dais()
     struct snd_soc_component の dev が、
     struct snd_soc_dai の struct device *dev にコピーされる。

-リンク
--[[linux-4.4.1/snd_soc_dai_get_drvdata()]]
--[[linux-4.4.1/device]]
--[[linux-4.4.1/dev_set_drvdata()]]
--[[linux-4.4.1/snd_soc_register_component()]]
--[[linux-4.4.1/snd_soc_component_initialize()]]
--[[linux-4.4.1/snd_soc_register_dais()]]
--[[linux-4.4.1/snd_soc_component]]
--[[linux-4.4.1/snd_soc_dai]]
--[[linux-4.4.1/device]]


*実装 [#m5bc7c0c]
 /*
  * Digital Audio Interface runtime data.
  *
  * Holds runtime data for a DAI.
  */
 struct snd_soc_dai {
         const char *name;
         int id;
         struct device *dev;
 
-
--[[linux-4.4.1/device]]

         /* driver ops */
         struct snd_soc_dai_driver *driver;
 
-
--[[linux-4.4.1/snd_soc_dai_driver]]

         /* DAI runtime info */
         unsigned int capture_active:1;          /* stream is in use */
         unsigned int playback_active:1;         /* stream is in use */
         unsigned int symmetric_rates:1;
         unsigned int symmetric_channels:1;
         unsigned int symmetric_samplebits:1;
         unsigned int active;
         unsigned char probed:1;
 
         struct snd_soc_dapm_widget *playback_widget;
         struct snd_soc_dapm_widget *capture_widget;
 
-
--[[linux-4.4.1/snd_soc_dapm_widget]]

         /* DAI DMA data */
         void *playback_dma_data;
         void *capture_dma_data;
 
         /* Symmetry data - only valid if symmetry is being enforced */
         unsigned int rate;
         unsigned int channels;
         unsigned int sample_bits;
 
         /* parent platform/codec */
         struct snd_soc_codec *codec;
         struct snd_soc_component *component;
 
-
--[[linux-4.4.1/snd_soc_codec]]
--[[linux-4.4.1/snd_soc_component]]

         /* CODEC TDM slot masks and params (for fixup) */
         unsigned int tx_mask;
         unsigned int rx_mask;
 
         struct list_head list;
-
--[[linux-4.4.1/list_head]]

 };


*コメント [#r930f736]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS