Subject: Re: [alsa-devel] [PATCH V1 1/3] ASoC: fsl: Kconfig: remove dependence of SND_IMX_SOC for SND_SOC_IMX_PCM_DMA

From: Lars-Peter Clausen <[email-masked]>
Date: Tue, 19 Aug 2014 12:39:33 +0200

On 08/19/2014 12:35 PM, Takashi Iwai wrote:
> At Tue, 19 Aug 2014 09:00:06 +0000,
> [email-masked] wrote:
>>
>> How about the following :
>>
>>
>> diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig
>> index 5ae777a..d42f18c 100644
>> --- a/sound/soc/fsl/Kconfig
>> +++ b/sound/soc/fsl/Kconfig
>> @@ -15,7 +15,7 @@ config SND_SOC_FSL_ASRC
>>   config SND_SOC_FSL_SAI
>>          tristate "Synchronous Audio Interface (SAI) module support"
>>          select REGMAP_MMIO
>> -       select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
>> +       select SND_SOC_IMX_PCM_DMA
>>          select SND_SOC_GENERIC_DMAENGINE_PCM
>>          help
>>            Say Y if you want to add Synchronous Audio Interface (SAI)
>> @@ -25,7 +25,7 @@ config SND_SOC_FSL_SAI
>>
>>   config SND_SOC_FSL_SSI
>>          tristate "Synchronous Serial Interface module support"
>> -       select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
>> +       select SND_SOC_IMX_PCM_DMA
>>          select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
>>          select REGMAP_MMIO
>>          help
>> @@ -37,7 +37,7 @@ config SND_SOC_FSL_SSI
>>   config SND_SOC_FSL_SPDIF
>>          tristate "Sony/Philips Digital Interface module support"
>>          select REGMAP_MMIO
>> -       select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
>> +       select SND_SOC_IMX_PCM_DMA
>>          select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
>>          help
>>            Say Y if you want to add Sony/Philips Digital Interface (SPDIF)
>> @@ -48,7 +48,7 @@ config SND_SOC_FSL_SPDIF
>>   config SND_SOC_FSL_ESAI
>>          tristate "Enhanced Serial Audio Interface (ESAI) module support"
>>          select REGMAP_MMIO
>> -       select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
>> +       select SND_SOC_IMX_PCM_DMA
>>          help
>>            Say Y if you want to add Enhanced Synchronous Audio Interface
>>            (ESAI) support for the Freescale CPUs.
>> @@ -76,6 +76,7 @@ config SND_SOC_FSL_ASOC_CARD
>>
>>   config SND_SOC_IMX_PCM_DMA
>>          tristate
>> +       depends on SND_IMX_SOC
>>          select SND_SOC_GENERIC_DMAENGINE_PCM
>>
>>   config SND_SOC_IMX_AUDMUX
>
> I see the problem has been addressed, so JFYI: a reverse selection
> doesn't resolve "depends on".  It's a known shortcoming.  That is, a
> selected item can select further others, but cannot depend on others.

The item will still be selected regardless of its dependencies, but Kconfig 
will print a warning if one or more of the dependencies are not met along 
with the dependency chain that causes the warning. So you'll have a clue why 
things go wrong.

- Lars