Browse Source

Merge tag 'asoc-v4.2-disable-topology' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Disable topology support for v4.2

The topology code merged in the v4.2 merge window introduced a new ABI
which was believed to be suitable for use but subsequently additional
work by the developers of this feature have revealed some problems that
need to be addressed.  In order to allow this to be done without having
to support the initial ABI add Kconfig to disable the build and also add
some #error statements to the UAPI header so users can't use them.
Takashi Iwai 10 years ago
parent
commit
e24b6c03a1
4 changed files with 24 additions and 0 deletions
  1. 12 0
      include/sound/soc-topology.h
  2. 6 0
      include/uapi/sound/asoc.h
  3. 3 0
      sound/soc/Kconfig
  4. 3 0
      sound/soc/Makefile

+ 12 - 0
include/sound/soc-topology.h

@@ -141,6 +141,8 @@ struct snd_soc_tplg_ops {
 	int io_ops_count;
 	int io_ops_count;
 };
 };
 
 
+#ifdef CONFIG_SND_SOC_TOPOLOGY
+
 /* gets a pointer to data from the firmware block header */
 /* gets a pointer to data from the firmware block header */
 static inline const void *snd_soc_tplg_get_data(struct snd_soc_tplg_hdr *hdr)
 static inline const void *snd_soc_tplg_get_data(struct snd_soc_tplg_hdr *hdr)
 {
 {
@@ -165,4 +167,14 @@ int snd_soc_tplg_widget_bind_event(struct snd_soc_dapm_widget *w,
 	const struct snd_soc_tplg_widget_events *events, int num_events,
 	const struct snd_soc_tplg_widget_events *events, int num_events,
 	u16 event_type);
 	u16 event_type);
 
 
+#else
+
+static inline int snd_soc_tplg_component_remove(struct snd_soc_component *comp,
+						u32 index)
+{
+	return 0;
+}
+
+#endif
+
 #endif
 #endif

+ 6 - 0
include/uapi/sound/asoc.h

@@ -18,6 +18,12 @@
 #include <linux/types.h>
 #include <linux/types.h>
 #include <sound/asound.h>
 #include <sound/asound.h>
 
 
+#ifndef __KERNEL__
+#error This API is an early revision and not enabled in the current
+#error kernel release, it will be enabled in a future kernel version
+#error with incompatible changes to what is here.
+#endif
+
 /*
 /*
  * Maximum number of channels topology kcontrol can represent.
  * Maximum number of channels topology kcontrol can represent.
  */
  */

+ 3 - 0
sound/soc/Kconfig

@@ -30,6 +30,9 @@ config SND_SOC_GENERIC_DMAENGINE_PCM
 	bool
 	bool
 	select SND_DMAENGINE_PCM
 	select SND_DMAENGINE_PCM
 
 
+config SND_SOC_TOPOLOGY
+	bool
+
 # All the supported SoCs
 # All the supported SoCs
 source "sound/soc/adi/Kconfig"
 source "sound/soc/adi/Kconfig"
 source "sound/soc/atmel/Kconfig"
 source "sound/soc/atmel/Kconfig"

+ 3 - 0
sound/soc/Makefile

@@ -1,6 +1,9 @@
 snd-soc-core-objs := soc-core.o soc-dapm.o soc-jack.o soc-cache.o soc-utils.o
 snd-soc-core-objs := soc-core.o soc-dapm.o soc-jack.o soc-cache.o soc-utils.o
 snd-soc-core-objs += soc-pcm.o soc-compress.o soc-io.o soc-devres.o soc-ops.o
 snd-soc-core-objs += soc-pcm.o soc-compress.o soc-io.o soc-devres.o soc-ops.o
+
+ifneq ($(CONFIG_SND_SOC_TOPOLOGY),)
 snd-soc-core-objs += soc-topology.o
 snd-soc-core-objs += soc-topology.o
+endif
 
 
 ifneq ($(CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM),)
 ifneq ($(CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM),)
 snd-soc-core-objs += soc-generic-dmaengine-pcm.o
 snd-soc-core-objs += soc-generic-dmaengine-pcm.o