1. 04 Jun, 2015 1 commit
    • Liam Girdwood's avatar
      ASoC: topology: Add topology core · 8a978234
      Liam Girdwood authored
      The topology core parses the FW topology file for known block types and
      instanciates any common ALSA/ASoC objects that it discovers. The core
      also passes any block that is does not understand to client component
      drivers for enumeration.
      
      The core exports some APIs to client drivers in order to load and unload
      firmware topology data as use case require.
      
      Currently the core deals with the following object types :-
      
       o kcontrols. This includes TLV, enumerated and bytes controls.
       o DAPM widgets. All types with any associated kcontrol.
       o DAPM graph.
       o FE PCM. FE PCM capabilities and configuration can be defined.
       o BE DAI Link. BE DAI link capabilities and configuration can be defined.
       o Codec <-> codec style links capabilities and configuration.
      Signed-off-by: default avatarLiam Girdwood <liam.r.girdwood@linux.intel.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      8a978234
  2. 03 Jun, 2015 1 commit
    • Liam Girdwood's avatar
      ASoC: topology: Add topology UAPI header · c147c0e1
      Liam Girdwood authored
       The ASoC topology UAPI header defines the structures
       required to define any DSP firmware audio topology and control objects from
       userspace.
      
      The following objects are supported :-
       o kcontrols including TLV controls.
       o DAPM widgets and graph elements
       o Vendor bespoke objects.
       o Coefficient data
       o FE PCM capabilities and config.
       o BE link capabilities and config.
       o Codec <-> codec link capabilities and config.
       o Topology object manifest.
      
      The file format is simple and divided into blocks for each object type and
      each block has a header that defines it's size and type. Blocks can be in
      any order of type and can either all be in a single file or spread across
      more than one file. Blocks also have a group identifier ID so that they can
      be loaded and unloaded by ID.
      Signed-off-by: default avatarLiam Girdwood <liam.r.girdwood@linux.intel.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      c147c0e1
  3. 02 Jun, 2015 1 commit
    • Vladimir Zapolskiy's avatar
      ASoC: dapm: fix snd_soc_dapm_new_control() implicit declaration · 5353f65b
      Vladimir Zapolskiy authored
      The change fixes the following compilation problem:
      
        sound/soc/soc-dapm.c: In function 'dapm_kcontrol_data_alloc':
        sound/soc/soc-dapm.c:388:4: error: implicit declaration of function
          'snd_soc_dapm_new_control' [-Werror=implicit-function-declaration]
          data->widget = snd_soc_dapm_new_control(widget->dapm,
          ^
      
        sound/soc/soc-dapm.c:387:17: warning: assignment makes pointer
          from integer without a cast [enabled by default]
          data->widget = snd_soc_dapm_new_control(widget->dapm,
                       ^
        sound/soc/soc-dapm.c: At top level:
        sound/soc/soc-dapm.c:3269:1: error: conflicting types for
          'snd_soc_dapm_new_control'
        snd_soc_dapm_new_control(struct snd_soc_dapm_context *dapm,
        ^
      
      In addition to the fix add static qualifier to
      snd_soc_dapm_new_control() function to silence checkpatch.
      
      Fixes: 02aa78ab ("ASoC: DAPM: Add APIs to create individual DAPM controls.")
      Signed-off-by: default avatarVladimir Zapolskiy <vz@mleia.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      5353f65b
  4. 01 Jun, 2015 37 commits