1. 11 Jul, 2016 1 commit
    • Takashi Iwai's avatar
      ASoC: intel: Fix sst-dsp dependency on dw stuff · a395bdd6
      Takashi Iwai authored
      The recent commit [a92ea59b: ASoC: Intel: sst: only select
      sst-firmware when DW DMAC is built-in] introduced more strict kconfig
      dependency (depends on DW_DMAC_CORE=y) for avoiding the build failures
      due to dependency messes in intel-sst.  This makes, however, it
      impossible to use this driver with the modularized systems,
      i.e. typically on Linux distros.
      
      The problem addressed in the commit above is that sst_dsp_new() and
      sst_dsp_free() includes the firmware init / finish that call dw_*()
      functions.  Thus building it as built-in with DW_DMAC_CORE module
      results in the missing symbols.
      
      However, these sst_dsp functions are basically called only from the
      drivers that depend on DW_DMAC_CORE already.  That is, once when these
      functions are split out, the rest can be independent from dw stuff.
      
      This patch attempts to solve the issue by the following:
      - Split sst-dsp stuff into two modules: snd-soc-sst-dsp and
        snd-soc-sst-firmware.
      - Move sst_dsp_new() and sst_dsp_free() to the latter module so that
        the former module can be independent from DW_DMAC_CORE.
      - Add a new kconfig SND_SOC_INTEL_SST_FIRMWARE to select the latter
        module by machine drivers.
      
      One only remaining pitfall is that each machine driver has to select
      SND_SOC_INTEL_SST_FIRMWARE carefully depending on DW_DMAC_CORE.
      This can't be done cleanly due to the restriction of the current
      kbuild.
      
      Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=988117
      Fixes: a92ea59b ('ASoC: Intel: sst: only select sst-firmware when DW DMAC is built-in')
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      a395bdd6
  2. 08 Jul, 2016 4 commits
  3. 27 Jun, 2016 3 commits
  4. 24 Jun, 2016 1 commit
  5. 22 Jun, 2016 9 commits
  6. 14 Jun, 2016 8 commits
  7. 07 Jun, 2016 10 commits
  8. 01 Jun, 2016 2 commits
  9. 31 May, 2016 2 commits