summaryrefslogtreecommitdiff
path: root/include/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2016-03-14 14:03:29 +0100
committerTakashi Iwai <tiwai@suse.de>2016-03-14 14:03:29 +0100
commitca80e26a5995f078aa442f151b94cf4305e07ac4 (patch)
treebb1b4a0a6e07f1ed80ff6412eb2a20e621244037 /include/sound
parent028cb68ee3d01f5323493cb3c07ba92b0acb2f03 (diff)
parentd4a6360f19c1c551afcba42be98df04651fab31b (diff)
Merge tag 'asoc-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Updates for v4.6 The main thing in terms of the core this time around has been some additional framework work for dynamic topologies (though we *still* don't appear to have a stable ABI for the topology code, it's probably worth considering if this will ever happen...). Otherwise the work has almost all been in the drivers: - HDMI support for Sky Lake, along with other fixes and enhancements for the Intel drivers. - Lots of improvements to the Renesas drivers. - Capture support for Qualcomm drivers. - Support for TI DaVinci DRA7xxx devices. - New machine drivers for Freescale systems with Cirrus CODECs, Mediatek systems with RT5650 CODECs. - New CPU drivers for Allwinner S/PDIF controllers - New CODEC drivers for Maxim MAX9867 and MAX98926 and Realtek RT5514.
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/pcm.h2
-rw-r--r--include/sound/soc-topology.h21
-rw-r--r--include/sound/soc.h2
3 files changed, 13 insertions, 12 deletions
diff --git a/include/sound/pcm.h b/include/sound/pcm.h
index b0be09279943..af1fb37c6b26 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -1093,6 +1093,8 @@ unsigned int snd_pcm_rate_to_rate_bit(unsigned int rate);
unsigned int snd_pcm_rate_bit_to_rate(unsigned int rate_bit);
unsigned int snd_pcm_rate_mask_intersect(unsigned int rates_a,
unsigned int rates_b);
+unsigned int snd_pcm_rate_range_to_bits(unsigned int rate_min,
+ unsigned int rate_max);
/**
* snd_pcm_set_runtime_buffer - Set the PCM runtime buffer
diff --git a/include/sound/soc-topology.h b/include/sound/soc-topology.h
index 5b68e3f5aa85..b897b9d63161 100644
--- a/include/sound/soc-topology.h
+++ b/include/sound/soc-topology.h
@@ -56,12 +56,6 @@ struct snd_soc_dobj_widget {
unsigned int kcontrol_enum:1; /* this widget is an enum kcontrol */
};
-/* dynamic PCM DAI object */
-struct snd_soc_dobj_pcm_dai {
- struct snd_soc_tplg_pcm_dai *pd;
- unsigned int count;
-};
-
/* generic dynamic object - all dynamic objects belong to this struct */
struct snd_soc_dobj {
enum snd_soc_dobj_type type;
@@ -71,7 +65,6 @@ struct snd_soc_dobj {
union {
struct snd_soc_dobj_control control;
struct snd_soc_dobj_widget widget;
- struct snd_soc_dobj_pcm_dai pcm_dai;
};
void *private; /* core does not touch this */
};
@@ -126,10 +119,16 @@ struct snd_soc_tplg_ops {
int (*widget_unload)(struct snd_soc_component *,
struct snd_soc_dobj *);
- /* FE - used for any driver specific init */
- int (*pcm_dai_load)(struct snd_soc_component *,
- struct snd_soc_tplg_pcm_dai *pcm_dai, int num_fe);
- int (*pcm_dai_unload)(struct snd_soc_component *,
+ /* FE DAI - used for any driver specific init */
+ int (*dai_load)(struct snd_soc_component *,
+ struct snd_soc_dai_driver *dai_drv);
+ int (*dai_unload)(struct snd_soc_component *,
+ struct snd_soc_dobj *);
+
+ /* DAI link - used for any driver specific init */
+ int (*link_load)(struct snd_soc_component *,
+ struct snd_soc_dai_link *link);
+ int (*link_unload)(struct snd_soc_component *,
struct snd_soc_dobj *);
/* callback to handle vendor bespoke data */
diff --git a/include/sound/soc.h b/include/sound/soc.h
index 7afb72ceac56..02b4a215fd75 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -27,7 +27,6 @@
#include <sound/compress_driver.h>
#include <sound/control.h>
#include <sound/ac97_codec.h>
-#include <sound/soc-topology.h>
/*
* Convenience kcontrol builders
@@ -404,6 +403,7 @@ struct snd_soc_jack_zone;
struct snd_soc_jack_pin;
#include <sound/soc-dapm.h>
#include <sound/soc-dpcm.h>
+#include <sound/soc-topology.h>
struct snd_soc_jack_gpio;