1. 11 7月, 2018 2 次提交
    • H
      ASoC: rt5651: Allow disabling jack-detect by calling set_jack(NULL) · 34c906dd
      Hans de Goede 提交于
      Allow the machine driver to disable jack-detect over a suspend/resume by
      calling snd_soc_component_set_jack(NULL).
      
      Note this renames rt5651_set_jack, where all the jack-enable work was done
      to rt5651_enable_jack_detect. This function can now no longer fail as it
      does not request the IRQ anymore. It can still be passed an invalid jack
      source, but that should never happen, so this is now logged and treated as
      no jack source.
      
      Cc: Carlo Caione <carlo@endlessm.com>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      34c906dd
    • H
      ASoC: rt5651: Fix workqueue cancel vs irq free race on remove · 8d2d7bcd
      Hans de Goede 提交于
      On removal we must free the IRQ *before* cancelling the jack-detect work,
      so that the jack-detect work cannot be rescheduled by the IRQ.
      
      Before this commit we were cancelling the jack-detect work from the
      driver remove callback, while relying on devm to free the IRQ, which
      happens after the remove callback.
      
      This is the wrong order. This commit uses a devm-action to register
      a devm callback which cancels the work, before requesting the IRQ
      (devm tears things down in reverse order). This also allows us to
      remove the now empty remove driver callback.
      
      Cc: Carlo Caione <carlo@endlessm.com>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      8d2d7bcd
  2. 07 3月, 2018 8 次提交
  3. 02 3月, 2018 15 次提交
  4. 19 2月, 2018 1 次提交
  5. 12 2月, 2018 1 次提交
  6. 31 10月, 2017 1 次提交
  7. 26 10月, 2017 4 次提交
  8. 23 10月, 2017 1 次提交
  9. 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
  10. 29 6月, 2017 1 次提交
  11. 08 8月, 2016 1 次提交
  12. 23 12月, 2015 1 次提交
  13. 05 8月, 2015 2 次提交
  14. 17 7月, 2015 1 次提交