1. 27 May, 2011 1 commit
    • Stephen Warren's avatar
      ASoC: Fix dapm_is_shared_kcontrol so everything isn't shared · 1007da06
      Stephen Warren authored
      Commit af46800b ("ASoC: Implement mux control sharing") introduced
      function dapm_is_shared_kcontrol.
      
      When this function returns true, the naming of DAPM controls is derived
      from the kcontrol_new. Otherwise, the name comes from the widget (and
      possibly a widget's naming prefix).
      
      A bug in the implementation of dapm_is_shared_kcontrol made it return 1
      in all cases. Hence, that commit caused a change in control naming for
      all controls instead of just shared controls.
      
      Specifically, a control is always considered shared because it is always
      compared against itself. Solve this by never comparing against the widget
      containing the control being created.
      
      Equally, controls should never be shared between DAPM contexts; when the
      same codec is instantiated multiple times, the same kcontrol_new will be
      used. However, the control should no be shared between the multiple
      instances.
      
      I tested that with the Tegra WM8903 driver:
      * Shared is now mostly 0 as expected, and sometimes 1.
      * The expected controls are still generated after this change.
      
      However, I don't have any systems that have a widget/control naming
      prefix, so I can't test that aspect.
      
      Thanks for Jarkko Nikula for pointing out how to fix this.
      Reported-by: default avatarLiam Girdwood <lrg@ti.com>
      Tested-by: default avatarJarkko Nikula <jhnikula@gmail.com>
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarLiam Girdwood <lrg@ti.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      1007da06
  2. 26 May, 2011 5 commits
  3. 24 May, 2011 3 commits
  4. 22 May, 2011 2 commits
  5. 20 May, 2011 3 commits
  6. 19 May, 2011 3 commits
  7. 18 May, 2011 1 commit
  8. 16 May, 2011 9 commits
  9. 15 May, 2011 1 commit
  10. 13 May, 2011 4 commits
  11. 12 May, 2011 2 commits
  12. 11 May, 2011 6 commits