1. 26 1月, 2018 1 次提交
    • T
      ASoC: Fix twl4030 and 6040 regression by adding back read and write · 8146acff
      Tony Lindgren 提交于
      Commit 3bb0f7c3 ("ASoC: don't use snd_soc_write/read on twl4030")
      caused regressions for both twl4030 and twl6040 as it assumes the
      ASoC driver is using regmap. As a side effect, this also causes a
      considerable increase in idle power consumption omap3 boards using
      twl4030 as the PMIC.
      
      This is because the removal of read and write function pointers
      causes some of the ASoC IO functions to not do anything. For example,
      snd_soc_register_card() calls snd_soc_dapm_new_widgets() that calls
      snd_soc_codec_drv_read() that now does nothing.
      
      A long term solution suggested by Mark Brown <broonie@kernel.org>
      is to make the twl drivers use regmap by adding a call to
      snd_soc_codec_set_regmap(). This however needs more consideration
      as currently the driver internal reads do caching and we would have
      both regmap access and internal read/write access accessing the same
      hardware registers.
      
      So to fix the regression, let's just do a partial revert adding back
      the read and write function pointers. Note that other non-regmap
      ASoC drivers may need similar patches.
      
      Fixes: 3bb0f7c3 ("ASoC: don't use snd_soc_write/read on twl4030")
      Fixes: 93a00c46 ("ASoC: don't use snd_soc_write/read on twl6040")
      Acked-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Acked-by: NPeter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      8146acff
  2. 28 11月, 2017 2 次提交
  3. 10 8月, 2017 1 次提交
    • B
      ASoC: codecs: add const to snd_soc_codec_driver structures · a180ba45
      Bhumika Goyal 提交于
      Declare snd_soc_codec_driver structures as const as they are only passed
      as an argument to the function snd_soc_register_codec. This argument is
      of type const, so declare the structures with this property as const.
      In file codecs/sn95031.c, snd_soc_codec_driver structure is also used in
      a copy operation along with getting passed to snd_soc_register_codec.
      So, it can be made const too.
      Done using Coccinelle:
      
      @match disable optional_qualifier@
      identifier s;
      position p;
      @@
      static struct snd_soc_codec_driver s@p={...};
      
      @good1@
      identifier match.s;
      position p;
      @@
      snd_soc_register_codec(...,&s@p,...)
      
      @bad@
      identifier match.s;
      position p!={match.p,good1.p};
      @@
      s@p
      
      @depends on !bad disable optional_qualifier@
      identifier match.s;
      @@
      static
      +const
      struct snd_soc_codec_driver s={...};
      Signed-off-by: NBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      a180ba45
  4. 17 7月, 2017 1 次提交
  5. 04 4月, 2017 1 次提交
  6. 08 8月, 2016 1 次提交
  7. 19 5月, 2016 1 次提交
  8. 11 5月, 2016 1 次提交
  9. 25 12月, 2015 1 次提交
  10. 15 5月, 2015 1 次提交
  11. 13 5月, 2015 1 次提交
  12. 28 4月, 2015 2 次提交
  13. 15 1月, 2015 1 次提交
  14. 27 11月, 2014 1 次提交
  15. 20 10月, 2014 1 次提交
  16. 15 4月, 2014 1 次提交
  17. 23 2月, 2014 1 次提交
  18. 07 2月, 2014 1 次提交
  19. 20 12月, 2013 4 次提交
  20. 14 10月, 2013 1 次提交
  21. 07 10月, 2013 1 次提交
  22. 17 9月, 2013 1 次提交
  23. 30 7月, 2013 1 次提交
  24. 22 7月, 2013 1 次提交
  25. 19 7月, 2013 1 次提交
  26. 24 6月, 2013 3 次提交
  27. 12 1月, 2013 5 次提交
  28. 09 12月, 2012 1 次提交
  29. 05 10月, 2012 1 次提交