1. 05 8月, 2019 6 次提交
  2. 01 8月, 2019 2 次提交
  3. 25 7月, 2019 1 次提交
  4. 24 7月, 2019 7 次提交
  5. 04 7月, 2019 1 次提交
  6. 28 6月, 2019 2 次提交
  7. 26 6月, 2019 1 次提交
  8. 25 6月, 2019 6 次提交
  9. 19 6月, 2019 1 次提交
    • K
      ASoC: soc-core: allow no Platform on dai_link · 1d768989
      Kuninori Morimoto 提交于
      dai_link is used to selecting Component (= CPU/Codec/Platform) and
      DAI (= CPU/Codec). And selected CPU/Codec/Platform components are
      *listed* on Card.
      
      Many drivers don't need special Platform component, but was
      mandatory at legacy style ALSA SoC.
      Thus, there is this kind of settings on many drivers.
      
      	dai_link->platform_of_node = dai_link->cpu_of_node;
      
      In this case, soc_bind_dai_link() will pick-up "CPU component" as
      "Platform component", and try to add it to snd_soc_pcm_runtime.
      But it will be ignored, because it is already added when CPU bindings.
      
      Historically, this kind of "CPU component" is used/selected as
      "Platform" on many ALSA SoC drivers.
      OTOH, Dummy Platform will be selected automatically by ALSA SoC if
      driver doesn't have Platform settings.
      
      These indicates that there are 2 type of Platforms exist at current
      ALSA SoC if driver doesn't need special Platform.
      
      	1) use Dummy Platform as Platform component
      	2) use CPU component  as Platform component
      
      ALSA SoC will call Dummy Platform callback function if it is using
      Dummy Platform, but it is completely pointless. Because it is the
      sound card which doesn't need special Platform.
      
      Thus, the behavior we request to ALSA SoC is selecting 2) automatically
      instead of 1) if sound card doesn't need special Platform.
      And, 2) means "do nothing" as above explain.
      
      These were needed at legacy style dai_link, but is no longer needed
      at modern style dai_link anymore.
      
      This patch allows "no Platform" settings on dai_link, and will do
      nothing for it if there was no platform settings. This is same as 2).
      
      By this patch, all drivers which is selecting "CPU component" as
      "Platform" can remove such settings.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      1d768989
  10. 10 6月, 2019 1 次提交
  11. 08 6月, 2019 1 次提交
    • S
      ASoC: Remove erroneous soc_cleanup_card_resources() call · 07799359
      Sylwester Nawrocki 提交于
      When soc_init_dai_link() call at the beginning of snd_soc_instantiate_card
      function fails soc_cleanup_card_resources() and then snd_soc_dapm_free()
      gets called with an incompletely initialized card->dapm. In particular
      card->dapm.card is NULL and it gets dereferenced in dapm_free_widgets().
      Also dapm->list is invalid and there is an invalid pointer dereference
      from list_del().
      
      The function call stack (deferred probing) on Chromebook Snow where this
      issue has shown up in today's -next is:
      
       snd_soc_dapm_free
       soc_cleanup_card_resources
       snd_soc_instantiate_card
       snd_soc_register_card
       devm_snd_soc_register_card
       snow_probe
      
      In patch 70fc5373 "ASoC: core: move DAI pre-links initiation to
      snd_soc_instantiate_card" there is an soc_cleanup_platform() call instead
      of soc_cleanup_card_resources() as in current -next.
      
      soc_cleanup_platform got renamed to soc_cleanup_legacy, then removed
      in commit adb76b5b "ASoC: soc-core: remove legacy style dai_link".
      
      It seems in merge conflict resolution the soc_cleanup_platform() call got
      renamed to soc_cleanup_card_resources(), instead of being removed.
      
      Correct this by removing an unnecessary soc_cleanup_card_resources() call.
      
      Fixes: a8e99234 ("Merge branch 'asoc-5.2' into asoc-5.3")
      Reported-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Suggested-by: NTzung-Bi Shih <tzungbi@google.com>
      Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      07799359
  12. 07 6月, 2019 5 次提交
  13. 04 6月, 2019 1 次提交
  14. 29 5月, 2019 1 次提交
  15. 28 5月, 2019 1 次提交
    • K
      ASoC: soc-core: fixup references at soc_cleanup_card_resources() · 29040d1a
      Kuninori Morimoto 提交于
      commit 53e947a0 ("ASoC: soc-core: merge card resources cleanup
      method") merged cleanup method of snd_soc_instantiate_card() and
      soc_cleanup_card_resources().
      
      But, after this commit, if user uses unbind/bind to Component factor
      drivers, Kernel might indicates refcount error at
      soc_cleanup_card_resources().
      
      The 1st reason is card->snd_card is still exist even though
      snd_card_free() was called, but it is already cleaned.
      We need to set NULL to it.
      
      2nd is card->dapm and card create debugfs, but its dentry is still
      exist even though it was removed. We need to set NULL to it.
      
      Fixes: 53e947a0 ("ASoC: soc-core: merge card resources cleanup method")
      Cc: stable@vger.kernel.org # for v5.1
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      29040d1a
  16. 24 5月, 2019 1 次提交
  17. 20 5月, 2019 1 次提交
  18. 13 5月, 2019 1 次提交