1. 20 6月, 2019 1 次提交
  2. 19 6月, 2019 2 次提交
    • B
      ASoC: rt5677: handle concurrent interrupts · df9091e9
      Ben Zhang 提交于
      The rt5677 driver writes to the IRQ control register within the IRQ
      handler in order to flip the polarity of the interrupts that have been
      signalled.  If an interrupt fires in the interval between the
      regmap_read and the regmap_write, it will not trigger a new call to
      rt5677_irq.
      
      Add a bounded loop to rt5677_irq that keeps checking interrupts until
      none are seen, so that any interrupts that are signalled in that
      interval are correctly handled.
      Signed-off-by: NBen Zhang <benzh@chromium.org>
      Signed-off-by: NFletcher Woodruff <fletcherw@chromium.org>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      df9091e9
    • B
      ASoC: rt5677: clear interrupts by polarity flip · 4f7b018b
      Ben Zhang 提交于
      The rt5677 jack detection function has a requirement that the polarity
      of an interrupt be flipped after it fires in order to clear the
      interrupt.
      
      This patch implements an irq_chip with irq_domain directly instead of
      using regmap-irq, so that interrupt source line polarities can be
      flipped in the irq handler.
      
      The reason that this patch does not add this feature within regmap-irq
      is that future patches will add hotword detection support to this irq
      handler. Those patches will require adding additional logic that would
      not make sense to have in regmap-irq.
      Signed-off-by: NBen Zhang <benzh@chromium.org>
      Signed-off-by: NFletcher Woodruff <fletcherw@chromium.org>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      4f7b018b
  3. 17 6月, 2019 3 次提交
  4. 14 6月, 2019 2 次提交
  5. 12 6月, 2019 1 次提交
  6. 07 6月, 2019 4 次提交
  7. 04 6月, 2019 5 次提交
  8. 30 5月, 2019 1 次提交
  9. 29 5月, 2019 2 次提交
    • S
      ASoC: cs42xx8: Fix build error with CONFIG_GPIOLIB is not set · 7cda6223
      Shengjiu Wang 提交于
      config: x86_64-randconfig-x000201921-201921
      compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
      reproduce:
              make ARCH=x86_64
      
      sound/soc/codecs/cs42xx8.c: In function ‘cs42xx8_probe’:
      sound/soc/codecs/cs42xx8.c:472:25: error: implicit declaration of function ‘devm_gpiod_get_optional’; did you mean ‘devm_clk_get_optional’? [-Werror=implicit-function-declaration]
        cs42xx8->gpiod_reset = devm_gpiod_get_optional(dev, "reset",
                               ^~~~~~~~~~~~~~~~~~~~~~~
                               devm_clk_get_optional
      sound/soc/codecs/cs42xx8.c:473:8: error: ‘GPIOD_OUT_HIGH’ undeclared (first use in this function); did you mean ‘GPIOF_INIT_HIGH’?
              GPIOD_OUT_HIGH);
              ^~~~~~~~~~~~~~
              GPIOF_INIT_HIGH
      sound/soc/codecs/cs42xx8.c:473:8: note: each undeclared identifier is reported only once for each function it appears in
      sound/soc/codecs/cs42xx8.c:477:2: error: implicit declaration of function ‘gpiod_set_value_cansleep’; did you mean ‘gpio_set_value_cansleep’? [-Werror=implicit-function-declaration]
        gpiod_set_value_cansleep(cs42xx8->gpiod_reset, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~
        gpio_set_value_cansleep
      
      Fixes: bfe95dfa ("ASoC: cs42xx8: Add reset gpio handling")
      Reported-by: Nkbuild test robot <lkp@intel.com>
      Signed-off-by: NShengjiu Wang <shengjiu.wang@nxp.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      7cda6223
    • G
      wcd9335: fix a incorrect use of kstrndup() · a5498811
      Gen Zhang 提交于
      In wcd9335_codec_enable_dec(), 'widget_name' is allocated by kstrndup().
      However, according to doc: "Note: Use kmemdup_nul() instead if the size
      is known exactly." So we should use kmemdup_nul() here instead of
      kstrndup().
      Signed-off-by: NGen Zhang <blackgod016574@gmail.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      a5498811
  10. 28 5月, 2019 4 次提交
  11. 22 5月, 2019 1 次提交
    • S
      ASoC: Add support for Conexant CX2072X CODEC · a497a436
      Simon Ho 提交于
      Initial commit of the Conexant CX2072X CODEC driver. Some features are
      not present.
      
      The CX2072X is a ultra low power stereo audio codec supports I2S/TDM
      host interface with EQ, DRC features in playback mode.
      
      Featues of CX2072X codec:
      
       * Two 24 bits DACs and DACs.
       * Stereo Headphone AMP.
       * 2.8W per channel class-D output.
       * Integrated seven bands per channel EQ and DRC.
       * Fully integrated headset support with detect/switch.
       * Stereo digital microphone for array applications.
       * S/PDIF output.
       * Bi-directional GPIOs.
       * Support analog and digital PC Beeep.
       * One headset button support.
       * Supports a wide variety of host interfaces.
         -wide variety of I2S and similar bit-stream formats
          with word lengths of up to 24 bits.
         -TDM stream supports up to 4 channels.
       * AEC loopback support.
      
      Further fixes by tiwai:
       * Rebase to 5.2+
       * Missing DAPM entry definitions
       * Missing power hooks
       * Fix uninitialized variable warning
       * Rewrite jack detection stuff to use set_jack callback
       * Plumbing jack detection code for Intel ASoC
       * Move clk management into runtime PM
       * Drop incorrect regcache usages
       * Drop untested stuff: OF table, EQ/DRC handling
       * Lots of code cleanups and minor refactoring
      
      The OF code was dropped due to the lack of testability.
      It should be easy to re-add once if someone can test it.
      
      v1->v2: No change
      v2->v3: Move register tables to appropriate place
      	Remove some confusing codes
      	Set snd_ctl_boolean_* helpers directly
      	Fix EQ put callback
      	Rename to "DAC1 Switch" from "DAC1 Mute Switch"
      	Drop superfluous regmap calls at shutdown
      	Avoid regmap_register_patch()
      	Add missing register definitions
      	Fix register access on big-endian machine
      	Remove regcache messes
      v3->v4: Fix the wrong endianess conversion in reg write
      	Minor code cleanups
      v4->v5: Move clk management to runtime PM
      	Sparse warning fixes
      	Some more code simplification
      	Drop tricky regcache fiddling
      	Apply mutex locks around possible racy sequences
      	Move exported jack detection stuff into set_jack callback
      v5->v6: Drop buggy&untested EQ and DRC codes
      	Lots of code reduction/cleanup
      	Add more comments about platform-specific stuff
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=115531Signed-off-by: NSimon Ho <simon.ho@conexant.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      a497a436
  12. 20 5月, 2019 1 次提交
  13. 17 5月, 2019 3 次提交
  14. 13 5月, 2019 5 次提交
  15. 08 5月, 2019 5 次提交