ASoC: soc-core: add snd_soc_unregister_dai()
[linux-2.6-block.git] / include / sound / soc.h
index f264c6509f003242282d9132d317da199ea9393e..daa0e100ecd93988c3f7de18fabee8862916c2a6 100644 (file)
@@ -739,10 +739,12 @@ struct snd_soc_rtdcom_list {
 struct snd_soc_component*
 snd_soc_rtdcom_lookup(struct snd_soc_pcm_runtime *rtd,
                       const char *driver_name);
-#define for_each_rtdcom(rtd, rtdcom) \
-       list_for_each_entry(rtdcom, &(rtd)->component_list, list)
-#define for_each_rtdcom_safe(rtd, rtdcom1, rtdcom2) \
-       list_for_each_entry_safe(rtdcom1, rtdcom2, &(rtd)->component_list, list)
+#define for_each_rtd_components(rtd, rtdcom, _component)               \
+       for (rtdcom = list_first_entry(&(rtd)->component_list,          \
+                                      typeof(*rtdcom), list);          \
+            (&rtdcom->list != &(rtd)->component_list) &&               \
+                    (_component = rtdcom->component);                  \
+            rtdcom = list_next_entry(rtdcom, list))
 
 struct snd_soc_dai_link_component {
        const char *name;
@@ -1148,7 +1150,6 @@ struct snd_soc_pcm_runtime {
        struct list_head component_list; /* list of connected components */
 
        /* bit field */
-       unsigned int dev_registered:1;
        unsigned int pop_wait:1;
        unsigned int fe_compr:1; /* for Dynamic PCM */
 };
@@ -1327,6 +1328,7 @@ struct snd_soc_dai_link *snd_soc_find_dai_link(struct snd_soc_card *card,
 
 int snd_soc_register_dai(struct snd_soc_component *component,
        struct snd_soc_dai_driver *dai_drv);
+void snd_soc_unregister_dai(struct snd_soc_dai *dai);
 
 struct snd_soc_dai *snd_soc_find_dai(
        const struct snd_soc_dai_link_component *dlc);
@@ -1391,6 +1393,11 @@ static inline void snd_soc_dapm_mutex_unlock(struct snd_soc_dapm_context *dapm)
        mutex_unlock(&dapm->card->dapm_mutex);
 }
 
+/* bypass */
+int snd_soc_pcm_lib_ioctl(struct snd_soc_component *component,
+                         struct snd_pcm_substream *substream,
+                         unsigned int cmd, void *arg);
+
 #include <sound/soc-component.h>
 
 #endif