1. 27 Sep, 2016 1 commit
  2. 26 Sep, 2016 1 commit
    • Nikita Yushchenko's avatar
      ASoC: tlv320aic31xx: add explicit support for tlv320dac31xx · ef9656b6
      Nikita Yushchenko authored
      tlv320dac31xx is a subset of tlv320aic31xx:
      - it does not have MIC inputs and ADC, thus capture is not supported,
      - it has analog inputs AIN1/AIN2 that can be mixed into output.
      
      Although tlv320dac31xx does work with tlv320aic31xx driver, this setup
      does register non-existent widgets and non-existent capture stream.
      Thus userspace lists non-existent objects in user interfaces, an can
      access these, causing operations with device registers that are
      declared as "reserved" in tlv320dac31xx datasheet.
      
      This patch fixes this situation by separating controls/widgets/routes
      into common, aic31xx-specific, and dac31xx-specific parts. Only parts
      that match actual hardware (as declared in "compatible" device tree
      property) are registered.
      
      Changes from v1:
      - update device tree binding documentation,
      - rebased on top of "ASoC: codec duplicated callback function goes to
        component on tlv320aic31xx" commit.
      Signed-off-by: default avatarNikita Yushchenko <nikita.yoush@cogentembedded.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      ef9656b6
  3. 22 Sep, 2016 1 commit
    • Arnd Bergmann's avatar
      ASoC: cq93vc: duplicated callback function goes to component · 8180bd56
      Arnd Bergmann authored
      A cleanup removed a couple of members from struct snd_soc_codec_driver
      after changing codec drivers to no longer use them, but one codec
      was missed in the process, giving a build error:
      
      sound/soc/codecs/cq93vc.c:134:2: error: unknown field 'controls' specified in initializer
        .controls = cq93vc_snd_controls,
      
      This moves the members from the cq93vc codec driver to its component driver
      just like the other codecs already had.
      
      Fixes: 8073aefa ("ASoC: remove codec duplicated callback function")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      8180bd56
  4. 01 Sep, 2016 1 commit
    • Julia Lawall's avatar
      ASoC: constify snd_soc_codec_driver structures · f802d6c0
      Julia Lawall authored
      Check for snd_soc_codec_driver structures that are only passed to
      snd_soc_register_codec or memcpy (2nd arg), for which the corresponding
      parameters are declared const.  Declare as const snd_soc_codec_driver
      structures that have these properties.
      
      The semantic patch that makes this change is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @r disable optional_qualifier@
      identifier i;
      position p;
      @@
      static struct snd_soc_codec_driver i@p = { ... };
      
      @ok@
      identifier r.i;
      expression e1,e2,e3;
      position p;
      @@
      (
      snd_soc_register_codec(e1,&i@p,e2,e3)
      |
      memcpy(e1,&i@p,e2)
      )
      
      @bad@
      position p != {r.p,ok.p};
      identifier r.i;
      @@
      i@p
      
      @depends on !bad disable optional_qualifier@
      identifier r.i;
      @@
      static
      +const
       struct snd_soc_codec_driver i = { ... };
      // </smpl>
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Acked-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      f802d6c0
  5. 08 Aug, 2016 36 commits