1. 29 May, 2019 4 commits
    • Tzung-Bi Shih's avatar
      ASoC: core: use component driver name as component name · b19671d6
      Tzung-Bi Shih authored
      fmt_single_name() uses device name to determine component name.  If
      multiple components bind to the same device, the debugfs creation in
      soc_init_component_debugfs() would fail due to duplicated entity
      names.
      
      Name provided by component driver is unique enough to represent each
      component.  Use component driver name as the component name to avoid
      name duplication.
      Signed-off-by: default avatarTzung-Bi Shih <tzungbi@google.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      b19671d6
    • Shengjiu Wang's avatar
      ASoC: cs42xx8: Fix build error with CONFIG_GPIOLIB is not set · 7cda6223
      Shengjiu Wang authored
      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: default avatarkbuild test robot <lkp@intel.com>
      Signed-off-by: default avatarShengjiu Wang <shengjiu.wang@nxp.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      7cda6223
    • Pierre-Louis Bossart's avatar
      ASoC: Intel: sof-rt5682: fix undefined references with Baytrail-only support · 17fc2487
      Pierre-Louis Bossart authored
      The sof-rt5682 machine driver supports both legacy Baytrail devices
      and more recent ApolloLake/CometLake platforms. When only Baytrail is
      selected, the compilation fails with the following errors:
      
      ERROR: "hdac_hdmi_jack_port_init"
      [sound/soc/intel/boards/snd-soc-sof_rt5682.ko] undefined!
      
      ERROR: "hdac_hdmi_jack_init"
      [sound/soc/intel/boards/snd-soc-sof_rt5682.ko] undefined!
      
      Fix by selecting SND_SOC_HDAC_HDMI unconditionally. The code for HDMI
      support is not reachable on Baytrail so this change has no functional
      impact.
      
      Fixes: f70abd75 ("ASoC: Intel: add sof-rt5682 machine driver")
      Reported-by: default avatarkbuild test robot <lkp@intel.com>
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      17fc2487
    • Gen Zhang's avatar
      wcd9335: fix a incorrect use of kstrndup() · a5498811
      Gen Zhang authored
      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: default avatarGen Zhang <blackgod016574@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      a5498811
  2. 28 May, 2019 14 commits
  3. 24 May, 2019 4 commits
  4. 23 May, 2019 3 commits
  5. 22 May, 2019 2 commits
    • Takashi Iwai's avatar
      ASoC: Intel: Add machine driver for CX2072X on BYT/CHT platforms · 3917da94
      Takashi Iwai authored
      This is an implementation of a machine driver needed for Conexant
      CX2072X codec on Intel Baytrail and Cherrytrail platforms.  The
      current patch is based on the initial work by Pierre-Louis Bossart and
      the other Intel machine drivers.
      
      The jack detection support (driven via the standard GPIO) was added on
      top of the original work.
      
      Tested with ASUS E200HA laptop.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=115531Acked-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      3917da94
    • Simon Ho's avatar
      ASoC: Add support for Conexant CX2072X CODEC · a497a436
      Simon Ho authored
      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: default avatarSimon Ho <simon.ho@conexant.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      a497a436
  6. 21 May, 2019 8 commits
  7. 20 May, 2019 5 commits