select SND_SOC_INTEL_SST_MATCH if ACPI
        depends on (X86 || COMPILE_TEST)
 
-# firmware stuff depends DW_DMAC_CORE; since there is no depends-on from
-# the reverse selection, each machine driver needs to select
-# SND_SOC_INTEL_SST_FIRMWARE carefully depending on DW_DMAC_CORE
 config SND_SOC_INTEL_SST_FIRMWARE
        tristate
+       select DW_DMAC_CORE
 
 config SND_SOC_INTEL_SST_ACPI
        tristate
 
 config SND_SOC_INTEL_HASWELL
        tristate
+       select SND_SOC_INTEL_SST
        select SND_SOC_INTEL_SST_FIRMWARE
 
 config SND_SOC_INTEL_BAYTRAIL
        tristate
+       select SND_SOC_INTEL_SST
+       select SND_SOC_INTEL_SST_FIRMWARE
 
 config SND_SOC_INTEL_HASWELL_MACH
        tristate "ASoC Audio DSP support for Intel Haswell Lynxpoint"
        depends on X86_INTEL_LPSS && I2C && I2C_DESIGNWARE_PLATFORM
-       depends on DW_DMAC_CORE
-       select SND_SOC_INTEL_SST
+       depends on DMADEVICES
        select SND_SOC_INTEL_HASWELL
        select SND_SOC_RT5640
        help
 config SND_SOC_INTEL_BYT_RT5640_MACH
        tristate "ASoC Audio driver for Intel Baytrail with RT5640 codec"
        depends on X86_INTEL_LPSS && I2C
-       depends on DW_DMAC_CORE && (SND_SST_IPC_ACPI = n)
-       select SND_SOC_INTEL_SST
-       select SND_SOC_INTEL_SST_FIRMWARE
+       depends on DMADEVICES
+       depends on SND_SST_IPC_ACPI = n
        select SND_SOC_INTEL_BAYTRAIL
        select SND_SOC_RT5640
        help
 config SND_SOC_INTEL_BYT_MAX98090_MACH
        tristate "ASoC Audio driver for Intel Baytrail with MAX98090 codec"
        depends on X86_INTEL_LPSS && I2C
-       depends on DW_DMAC_CORE && (SND_SST_IPC_ACPI = n)
-       select SND_SOC_INTEL_SST
-       select SND_SOC_INTEL_SST_FIRMWARE
+       depends on DMADEVICES
+       depends on SND_SST_IPC_ACPI = n
        select SND_SOC_INTEL_BAYTRAIL
        select SND_SOC_MAX98090
        help
 
 config SND_SOC_INTEL_BDW_RT5677_MACH
        tristate "ASoC Audio driver for Intel Broadwell with RT5677 codec"
-       depends on X86_INTEL_LPSS && GPIOLIB && I2C && DW_DMAC
-       depends on DW_DMAC_CORE=y
-       select SND_SOC_INTEL_SST
+       depends on X86_INTEL_LPSS && GPIOLIB && I2C
+       depends on DMADEVICES
        select SND_SOC_INTEL_HASWELL
        select SND_SOC_RT5677
        help
 
 config SND_SOC_INTEL_BROADWELL_MACH
        tristate "ASoC Audio DSP support for Intel Broadwell Wildcatpoint"
-       depends on X86_INTEL_LPSS && I2C && DW_DMAC && \
-                  I2C_DESIGNWARE_PLATFORM
-       depends on DW_DMAC_CORE
-       select SND_SOC_INTEL_SST
+       depends on X86_INTEL_LPSS && I2C && I2C_DESIGNWARE_PLATFORM
+       depends on DMADEVICES
        select SND_SOC_INTEL_HASWELL
        select SND_SOC_RT286
        help