2021-07-07 21:54:14

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA

On a config (such as arch/sh/) which does not set HAS_DMA when MMU
is not set, several ATMEL ASoC drivers select symbols that cause
kconfig warnings. There is one "depends on HAS_DMA" which is no longer
needed. Dropping it eliminates the kconfig warnings and still builds
with no problems reported.

Fix the following kconfig warnings:

WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
Selected by [m]:
- SND_ATMEL_SOC_SSC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m]
- SND_ATMEL_SOC_SSC_PDC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]

WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_PDC
Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
Selected by [m]:
- SND_AT91_SOC_SAM9G20_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]

WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC
Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
Selected by [m]:
- SND_ATMEL_SOC_SSC_DMA [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]

WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_DMA
Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
Selected by [m]:
- SND_ATMEL_SOC_WM8904 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && I2C [=m]
- SND_AT91_SOC_SAM9X5_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]

Fixes: 3951e4aae2ce ("ASoC: atmel-pcm: dma support based on pcm dmaengine")
Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig")
Fixes: 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
Signed-off-by: Randy Dunlap <[email protected]>
Cc: Codrin Ciubotariu <[email protected]>
Cc: [email protected]
Cc: Liam Girdwood <[email protected]>
Cc: Mark Brown <[email protected]>
Cc: Michał Mirosław <[email protected]>
Cc: Alexandre Belloni <[email protected]>
---
v2: rebase & resend;
drop Cc: to Bo Shen <[email protected]> # bounced
v3: drop "depends on HAS_DMA" (as suggested by Codrin; Thanks)

---
sound/soc/atmel/Kconfig | 1 -
1 file changed, 1 deletion(-)

--- linux-next-20210707.orig/sound/soc/atmel/Kconfig
+++ linux-next-20210707/sound/soc/atmel/Kconfig
@@ -11,7 +11,6 @@ if SND_ATMEL_SOC

config SND_ATMEL_SOC_PDC
bool
- depends on HAS_DMA

config SND_ATMEL_SOC_DMA
bool


2021-07-07 22:02:10

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA

On 07/07/2021 14:47:52-0700, Randy Dunlap wrote:
> On a config (such as arch/sh/) which does not set HAS_DMA when MMU
> is not set, several ATMEL ASoC drivers select symbols that cause
> kconfig warnings. There is one "depends on HAS_DMA" which is no longer
> needed. Dropping it eliminates the kconfig warnings and still builds
> with no problems reported.
>
> Fix the following kconfig warnings:
>
> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
> Selected by [m]:
> - SND_ATMEL_SOC_SSC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m]
> - SND_ATMEL_SOC_SSC_PDC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>
> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_PDC
> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
> Selected by [m]:
> - SND_AT91_SOC_SAM9G20_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>
> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC
> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
> Selected by [m]:
> - SND_ATMEL_SOC_SSC_DMA [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>
> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_DMA
> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
> Selected by [m]:
> - SND_ATMEL_SOC_WM8904 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && I2C [=m]
> - SND_AT91_SOC_SAM9X5_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>
> Fixes: 3951e4aae2ce ("ASoC: atmel-pcm: dma support based on pcm dmaengine")
> Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig")
> Fixes: 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
> Signed-off-by: Randy Dunlap <[email protected]>
> Cc: Codrin Ciubotariu <[email protected]>
> Cc: [email protected]
> Cc: Liam Girdwood <[email protected]>
> Cc: Mark Brown <[email protected]>
> Cc: Michał Mirosław <[email protected]>
> Cc: Alexandre Belloni <[email protected]>

Acked-by: Alexandre Belloni <[email protected]>

> ---
> v2: rebase & resend;
> drop Cc: to Bo Shen <[email protected]> # bounced
> v3: drop "depends on HAS_DMA" (as suggested by Codrin; Thanks)
>
> ---
> sound/soc/atmel/Kconfig | 1 -
> 1 file changed, 1 deletion(-)
>
> --- linux-next-20210707.orig/sound/soc/atmel/Kconfig
> +++ linux-next-20210707/sound/soc/atmel/Kconfig
> @@ -11,7 +11,6 @@ if SND_ATMEL_SOC
>
> config SND_ATMEL_SOC_PDC
> bool
> - depends on HAS_DMA
>
> config SND_ATMEL_SOC_DMA
> bool

--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

2021-07-08 16:51:45

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA

On 7/8/21 1:19 AM, [email protected] wrote:
> On 08.07.2021 00:47, Randy Dunlap wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> On a config (such as arch/sh/) which does not set HAS_DMA when MMU
>> is not set, several ATMEL ASoC drivers select symbols that cause
>> kconfig warnings. There is one "depends on HAS_DMA" which is no longer
>> needed. Dropping it eliminates the kconfig warnings and still builds
>> with no problems reported.
>>
>> Fix the following kconfig warnings:
>>
>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>> Selected by [m]:
>> - SND_ATMEL_SOC_SSC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m]
>> - SND_ATMEL_SOC_SSC_PDC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>
>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_PDC
>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>> Selected by [m]:
>> - SND_AT91_SOC_SAM9G20_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>
>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC
>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>> Selected by [m]:
>> - SND_ATMEL_SOC_SSC_DMA [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>
>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_DMA
>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>> Selected by [m]:
>> - SND_ATMEL_SOC_WM8904 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && I2C [=m]
>> - SND_AT91_SOC_SAM9X5_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>
>> Fixes: 3951e4aae2ce ("ASoC: atmel-pcm: dma support based on pcm dmaengine")
>> Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig")
>> Fixes: 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
>
> I am not sure about these fixes tags. As Alexandre mentioned, it looks
> like the reason for HAS_DMA in the first place was the COMPILE_TEST with
> m32r arch. I dig a bit, and, if any, I think we should use:
> Fixes: eb17726b00b3 ("m32r: add simple dma")
> since this commit adds dummy DMA support for m32r and seems to fix the
> HAS_DMA dependency.

Ah, I forgot to update the Fixes: tag(s).

I won't disagree with your Fixes: suggestion (good digging) but
I would probably have used 8d7d11005e930:
ASoC: atmel: fix build failure
which is the commit that added "depends on HAS_DMA".

>> Signed-off-by: Randy Dunlap <[email protected]>
>> Cc: Codrin Ciubotariu <[email protected]>
>> Cc: [email protected]
>> Cc: Liam Girdwood <[email protected]>
>> Cc: Mark Brown <[email protected]>
>> Cc: Michał Mirosław <[email protected]>
>
> Other than that:
> Reviewed-by: Codrin Ciubotariu <[email protected]>

Thanks. I'll send a v4 with your Fixes: suggestion.

2021-07-12 11:39:31

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA

On Wed, 7 Jul 2021 14:47:52 -0700, Randy Dunlap wrote:
> On a config (such as arch/sh/) which does not set HAS_DMA when MMU
> is not set, several ATMEL ASoC drivers select symbols that cause
> kconfig warnings. There is one "depends on HAS_DMA" which is no longer
> needed. Dropping it eliminates the kconfig warnings and still builds
> with no problems reported.
>
> Fix the following kconfig warnings:
>
> [...]

Applied to

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/1] ASoC: atmel: ATMEL drivers don't need HAS_DMA
commit: 6c5c659dfe3f02e08054a6c20019e3886618b512

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

2021-09-03 00:40:56

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA

Hi Randy,

On Thu, Jul 8, 2021 at 6:51 PM Randy Dunlap <[email protected]> wrote:
> On 7/8/21 1:19 AM, [email protected] wrote:
> > On 08.07.2021 00:47, Randy Dunlap wrote:
> >> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> >>
> >> On a config (such as arch/sh/) which does not set HAS_DMA when MMU
> >> is not set, several ATMEL ASoC drivers select symbols that cause
> >> kconfig warnings. There is one "depends on HAS_DMA" which is no longer
> >> needed. Dropping it eliminates the kconfig warnings and still builds
> >> with no problems reported.
> >>
> >> Fix the following kconfig warnings:
> >>
> >> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
> >> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
> >> Selected by [m]:
> >> - SND_ATMEL_SOC_SSC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m]
> >> - SND_ATMEL_SOC_SSC_PDC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
> >>
> >> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_PDC
> >> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
> >> Selected by [m]:
> >> - SND_AT91_SOC_SAM9G20_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
> >>
> >> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC
> >> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
> >> Selected by [m]:
> >> - SND_ATMEL_SOC_SSC_DMA [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
> >>
> >> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_DMA
> >> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
> >> Selected by [m]:
> >> - SND_ATMEL_SOC_WM8904 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && I2C [=m]
> >> - SND_AT91_SOC_SAM9X5_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
> >>
> >> Fixes: 3951e4aae2ce ("ASoC: atmel-pcm: dma support based on pcm dmaengine")
> >> Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig")
> >> Fixes: 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
> >
> > I am not sure about these fixes tags. As Alexandre mentioned, it looks
> > like the reason for HAS_DMA in the first place was the COMPILE_TEST with
> > m32r arch. I dig a bit, and, if any, I think we should use:
> > Fixes: eb17726b00b3 ("m32r: add simple dma")
> > since this commit adds dummy DMA support for m32r and seems to fix the
> > HAS_DMA dependency.
>
> Ah, I forgot to update the Fixes: tag(s).
>
> I won't disagree with your Fixes: suggestion (good digging) but
> I would probably have used 8d7d11005e930:
> ASoC: atmel: fix build failure
> which is the commit that added "depends on HAS_DMA".

M32r was not the only platform NO_DMA, so I guess the build would
have failed for the others, too (e.g. Sun-3).

So the real fix was probably commit f29ab49b5388b2f8 ("dma-mapping:
Convert NO_DMA get_dma_ops() into a real dummy"), or one of the
related commits adding dummies to subsystems.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2021-09-03 19:54:38

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA

On 9/2/21 9:44 AM, Geert Uytterhoeven wrote:
> Hi Randy,
>
> On Thu, Jul 8, 2021 at 6:51 PM Randy Dunlap <[email protected]> wrote:
>> On 7/8/21 1:19 AM, [email protected] wrote:
>>> On 08.07.2021 00:47, Randy Dunlap wrote:
>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>>
>>>> On a config (such as arch/sh/) which does not set HAS_DMA when MMU
>>>> is not set, several ATMEL ASoC drivers select symbols that cause
>>>> kconfig warnings. There is one "depends on HAS_DMA" which is no longer
>>>> needed. Dropping it eliminates the kconfig warnings and still builds
>>>> with no problems reported.
>>>>
>>>> Fix the following kconfig warnings:
>>>>
>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>>>> Selected by [m]:
>>>> - SND_ATMEL_SOC_SSC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m]
>>>> - SND_ATMEL_SOC_SSC_PDC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>>>
>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_PDC
>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>>>> Selected by [m]:
>>>> - SND_AT91_SOC_SAM9G20_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>>>
>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC
>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>>>> Selected by [m]:
>>>> - SND_ATMEL_SOC_SSC_DMA [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>>>
>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_DMA
>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>>>> Selected by [m]:
>>>> - SND_ATMEL_SOC_WM8904 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && I2C [=m]
>>>> - SND_AT91_SOC_SAM9X5_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>>>
>>>> Fixes: 3951e4aae2ce ("ASoC: atmel-pcm: dma support based on pcm dmaengine")
>>>> Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig")
>>>> Fixes: 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
>>>
>>> I am not sure about these fixes tags. As Alexandre mentioned, it looks
>>> like the reason for HAS_DMA in the first place was the COMPILE_TEST with
>>> m32r arch. I dig a bit, and, if any, I think we should use:
>>> Fixes: eb17726b00b3 ("m32r: add simple dma")
>>> since this commit adds dummy DMA support for m32r and seems to fix the
>>> HAS_DMA dependency.
>>
>> Ah, I forgot to update the Fixes: tag(s).
>>
>> I won't disagree with your Fixes: suggestion (good digging) but
>> I would probably have used 8d7d11005e930:
>> ASoC: atmel: fix build failure
>> which is the commit that added "depends on HAS_DMA".
>
> M32r was not the only platform NO_DMA, so I guess the build would
> have failed for the others, too (e.g. Sun-3).
>
> So the real fix was probably commit f29ab49b5388b2f8 ("dma-mapping:
> Convert NO_DMA get_dma_ops() into a real dummy"), or one of the
> related commits adding dummies to subsystems.

Hi Geert,
Does this mean that some other actions are needed here?
E.g. revert + a different kind of fix?

thanks.
--
~Randy

2021-09-06 07:23:47

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA

Hi Randy,

On Fri, Sep 3, 2021 at 9:53 PM Randy Dunlap <[email protected]> wrote:
> On 9/2/21 9:44 AM, Geert Uytterhoeven wrote:
> > On Thu, Jul 8, 2021 at 6:51 PM Randy Dunlap <[email protected]> wrote:
> >> On 7/8/21 1:19 AM, [email protected] wrote:
> >>> On 08.07.2021 00:47, Randy Dunlap wrote:
> >>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> >>>>
> >>>> On a config (such as arch/sh/) which does not set HAS_DMA when MMU
> >>>> is not set, several ATMEL ASoC drivers select symbols that cause
> >>>> kconfig warnings. There is one "depends on HAS_DMA" which is no longer
> >>>> needed. Dropping it eliminates the kconfig warnings and still builds
> >>>> with no problems reported.
> >>>>
> >>>> Fix the following kconfig warnings:
> >>>>
> >>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
> >>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
> >>>> Selected by [m]:
> >>>> - SND_ATMEL_SOC_SSC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m]
> >>>> - SND_ATMEL_SOC_SSC_PDC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
> >>>>
> >>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_PDC
> >>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
> >>>> Selected by [m]:
> >>>> - SND_AT91_SOC_SAM9G20_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
> >>>>
> >>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC
> >>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
> >>>> Selected by [m]:
> >>>> - SND_ATMEL_SOC_SSC_DMA [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
> >>>>
> >>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_DMA
> >>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
> >>>> Selected by [m]:
> >>>> - SND_ATMEL_SOC_WM8904 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && I2C [=m]
> >>>> - SND_AT91_SOC_SAM9X5_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
> >>>>
> >>>> Fixes: 3951e4aae2ce ("ASoC: atmel-pcm: dma support based on pcm dmaengine")
> >>>> Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig")
> >>>> Fixes: 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
> >>>
> >>> I am not sure about these fixes tags. As Alexandre mentioned, it looks
> >>> like the reason for HAS_DMA in the first place was the COMPILE_TEST with
> >>> m32r arch. I dig a bit, and, if any, I think we should use:
> >>> Fixes: eb17726b00b3 ("m32r: add simple dma")
> >>> since this commit adds dummy DMA support for m32r and seems to fix the
> >>> HAS_DMA dependency.
> >>
> >> Ah, I forgot to update the Fixes: tag(s).
> >>
> >> I won't disagree with your Fixes: suggestion (good digging) but
> >> I would probably have used 8d7d11005e930:
> >> ASoC: atmel: fix build failure
> >> which is the commit that added "depends on HAS_DMA".
> >
> > M32r was not the only platform NO_DMA, so I guess the build would
> > have failed for the others, too (e.g. Sun-3).
> >
> > So the real fix was probably commit f29ab49b5388b2f8 ("dma-mapping:
> > Convert NO_DMA get_dma_ops() into a real dummy"), or one of the
> > related commits adding dummies to subsystems.
>
> Hi Geert,
> Does this mean that some other actions are needed here?
> E.g. revert + a different kind of fix?

While we can now compile drivers using DMA features on NO_DMA
platforms, thanks to the dummies, it does mean many of these drivers
cannot work on such platforms. So I think it makes sense to replace
"depends on HAS_DMA" by "depends on HAS_DMA || COMPILE_TEST" if DMA
is not optional to the driver.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2021-09-08 20:38:22

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA

On 9/6/21 12:14 AM, Geert Uytterhoeven wrote:
> Hi Randy,
>
> On Fri, Sep 3, 2021 at 9:53 PM Randy Dunlap <[email protected]> wrote:
>> On 9/2/21 9:44 AM, Geert Uytterhoeven wrote:
>>> On Thu, Jul 8, 2021 at 6:51 PM Randy Dunlap <[email protected]> wrote:
>>>> On 7/8/21 1:19 AM, [email protected] wrote:
>>>>> On 08.07.2021 00:47, Randy Dunlap wrote:
>>>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>>>>
>>>>>> On a config (such as arch/sh/) which does not set HAS_DMA when MMU
>>>>>> is not set, several ATMEL ASoC drivers select symbols that cause
>>>>>> kconfig warnings. There is one "depends on HAS_DMA" which is no longer
>>>>>> needed. Dropping it eliminates the kconfig warnings and still builds
>>>>>> with no problems reported.
>>>>>>
>>>>>> Fix the following kconfig warnings:
>>>>>>
>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>>>>>> Selected by [m]:
>>>>>> - SND_ATMEL_SOC_SSC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m]
>>>>>> - SND_ATMEL_SOC_SSC_PDC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>>>>>
>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_PDC
>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>>>>>> Selected by [m]:
>>>>>> - SND_AT91_SOC_SAM9G20_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>>>>>
>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC
>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>>>>>> Selected by [m]:
>>>>>> - SND_ATMEL_SOC_SSC_DMA [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>>>>>
>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_DMA
>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>>>>>> Selected by [m]:
>>>>>> - SND_ATMEL_SOC_WM8904 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && I2C [=m]
>>>>>> - SND_AT91_SOC_SAM9X5_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>>>>>
>>>>>> Fixes: 3951e4aae2ce ("ASoC: atmel-pcm: dma support based on pcm dmaengine")
>>>>>> Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig")
>>>>>> Fixes: 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
>>>>>
>>>>> I am not sure about these fixes tags. As Alexandre mentioned, it looks
>>>>> like the reason for HAS_DMA in the first place was the COMPILE_TEST with
>>>>> m32r arch. I dig a bit, and, if any, I think we should use:
>>>>> Fixes: eb17726b00b3 ("m32r: add simple dma")
>>>>> since this commit adds dummy DMA support for m32r and seems to fix the
>>>>> HAS_DMA dependency.
>>>>
>>>> Ah, I forgot to update the Fixes: tag(s).
>>>>
>>>> I won't disagree with your Fixes: suggestion (good digging) but
>>>> I would probably have used 8d7d11005e930:
>>>> ASoC: atmel: fix build failure
>>>> which is the commit that added "depends on HAS_DMA".
>>>
>>> M32r was not the only platform NO_DMA, so I guess the build would
>>> have failed for the others, too (e.g. Sun-3).
>>>
>>> So the real fix was probably commit f29ab49b5388b2f8 ("dma-mapping:
>>> Convert NO_DMA get_dma_ops() into a real dummy"), or one of the
>>> related commits adding dummies to subsystems.
>>
>> Hi Geert,
>> Does this mean that some other actions are needed here?
>> E.g. revert + a different kind of fix?
>
> While we can now compile drivers using DMA features on NO_DMA
> platforms, thanks to the dummies, it does mean many of these drivers
> cannot work on such platforms. So I think it makes sense to replace
> "depends on HAS_DMA" by "depends on HAS_DMA || COMPILE_TEST" if DMA
> is not optional to the driver.

Hi Geert,

Is this what you had in mind? It seems to work with my (limited)
testing.

thanks.

---
sound/soc/atmel/Kconfig | 1 +
1 file changed, 1 insertion(+)

--- linux-next-20210907.orig/sound/soc/atmel/Kconfig
+++ linux-next-20210907/sound/soc/atmel/Kconfig
@@ -11,6 +11,7 @@ if SND_ATMEL_SOC

config SND_ATMEL_SOC_PDC
bool
+ depends on HAS_DMA || COMPILE_TEST

config SND_ATMEL_SOC_DMA
bool

2021-09-09 07:51:27

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA

Hi Randy,

On Wed, Sep 8, 2021 at 10:14 PM Randy Dunlap <[email protected]> wrote:
> On 9/6/21 12:14 AM, Geert Uytterhoeven wrote:
> > On Fri, Sep 3, 2021 at 9:53 PM Randy Dunlap <[email protected]> wrote:
> >> On 9/2/21 9:44 AM, Geert Uytterhoeven wrote:
> >>> On Thu, Jul 8, 2021 at 6:51 PM Randy Dunlap <[email protected]> wrote:
> >>>> On 7/8/21 1:19 AM, [email protected] wrote:
> >>>>> On 08.07.2021 00:47, Randy Dunlap wrote:
> >>>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> >>>>>>
> >>>>>> On a config (such as arch/sh/) which does not set HAS_DMA when MMU
> >>>>>> is not set, several ATMEL ASoC drivers select symbols that cause
> >>>>>> kconfig warnings. There is one "depends on HAS_DMA" which is no longer
> >>>>>> needed. Dropping it eliminates the kconfig warnings and still builds
> >>>>>> with no problems reported.
> >>>>>>
> >>>>>> Fix the following kconfig warnings:
> >>>>>>
> >>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
> >>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
> >>>>>> Selected by [m]:
> >>>>>> - SND_ATMEL_SOC_SSC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m]
> >>>>>> - SND_ATMEL_SOC_SSC_PDC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
> >>>>>>
> >>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_PDC
> >>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
> >>>>>> Selected by [m]:
> >>>>>> - SND_AT91_SOC_SAM9G20_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
> >>>>>>
> >>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC
> >>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
> >>>>>> Selected by [m]:
> >>>>>> - SND_ATMEL_SOC_SSC_DMA [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
> >>>>>>
> >>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_DMA
> >>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
> >>>>>> Selected by [m]:
> >>>>>> - SND_ATMEL_SOC_WM8904 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && I2C [=m]
> >>>>>> - SND_AT91_SOC_SAM9X5_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
> >>>>>>
> >>>>>> Fixes: 3951e4aae2ce ("ASoC: atmel-pcm: dma support based on pcm dmaengine")
> >>>>>> Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig")
> >>>>>> Fixes: 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
> >>>>>
> >>>>> I am not sure about these fixes tags. As Alexandre mentioned, it looks
> >>>>> like the reason for HAS_DMA in the first place was the COMPILE_TEST with
> >>>>> m32r arch. I dig a bit, and, if any, I think we should use:
> >>>>> Fixes: eb17726b00b3 ("m32r: add simple dma")
> >>>>> since this commit adds dummy DMA support for m32r and seems to fix the
> >>>>> HAS_DMA dependency.
> >>>>
> >>>> Ah, I forgot to update the Fixes: tag(s).
> >>>>
> >>>> I won't disagree with your Fixes: suggestion (good digging) but
> >>>> I would probably have used 8d7d11005e930:
> >>>> ASoC: atmel: fix build failure
> >>>> which is the commit that added "depends on HAS_DMA".
> >>>
> >>> M32r was not the only platform NO_DMA, so I guess the build would
> >>> have failed for the others, too (e.g. Sun-3).
> >>>
> >>> So the real fix was probably commit f29ab49b5388b2f8 ("dma-mapping:
> >>> Convert NO_DMA get_dma_ops() into a real dummy"), or one of the
> >>> related commits adding dummies to subsystems.
> >>
> >> Does this mean that some other actions are needed here?
> >> E.g. revert + a different kind of fix?
> >
> > While we can now compile drivers using DMA features on NO_DMA
> > platforms, thanks to the dummies, it does mean many of these drivers
> > cannot work on such platforms. So I think it makes sense to replace
> > "depends on HAS_DMA" by "depends on HAS_DMA || COMPILE_TEST" if DMA
> > is not optional to the driver.
>
> Hi Geert,
>
> Is this what you had in mind? It seems to work with my (limited)
> testing.

Yes. And also for other symbols for drivers that now compile fine
if !HAS_DMA, thanks to the dummies.

> --- linux-next-20210907.orig/sound/soc/atmel/Kconfig
> +++ linux-next-20210907/sound/soc/atmel/Kconfig
> @@ -11,6 +11,7 @@ if SND_ATMEL_SOC
>
> config SND_ATMEL_SOC_PDC
> bool
> + depends on HAS_DMA || COMPILE_TEST
>
> config SND_ATMEL_SOC_DMA
> bool

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2021-09-10 01:56:55

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA

On 9/9/21 12:22 AM, Geert Uytterhoeven wrote:
> Hi Randy,
>
> On Wed, Sep 8, 2021 at 10:14 PM Randy Dunlap <[email protected]> wrote:
>> On 9/6/21 12:14 AM, Geert Uytterhoeven wrote:
>>> On Fri, Sep 3, 2021 at 9:53 PM Randy Dunlap <[email protected]> wrote:
>>>> On 9/2/21 9:44 AM, Geert Uytterhoeven wrote:
>>>>> On Thu, Jul 8, 2021 at 6:51 PM Randy Dunlap <[email protected]> wrote:
>>>>>> On 7/8/21 1:19 AM, [email protected] wrote:
>>>>>>> On 08.07.2021 00:47, Randy Dunlap wrote:
>>>>>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>>>>>>
>>>>>>>> On a config (such as arch/sh/) which does not set HAS_DMA when MMU
>>>>>>>> is not set, several ATMEL ASoC drivers select symbols that cause
>>>>>>>> kconfig warnings. There is one "depends on HAS_DMA" which is no longer
>>>>>>>> needed. Dropping it eliminates the kconfig warnings and still builds
>>>>>>>> with no problems reported.
>>>>>>>>
>>>>>>>> Fix the following kconfig warnings:
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_ATMEL_SOC_SSC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m]
>>>>>>>> - SND_ATMEL_SOC_SSC_PDC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_PDC
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_AT91_SOC_SAM9G20_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_ATMEL_SOC_SSC_DMA [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_DMA
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_ATMEL_SOC_WM8904 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && I2C [=m]
>>>>>>>> - SND_AT91_SOC_SAM9X5_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>>>>>>>
>>>>>>>> Fixes: 3951e4aae2ce ("ASoC: atmel-pcm: dma support based on pcm dmaengine")
>>>>>>>> Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig")
>>>>>>>> Fixes: 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
>>>>>>>
>>>>>>> I am not sure about these fixes tags. As Alexandre mentioned, it looks
>>>>>>> like the reason for HAS_DMA in the first place was the COMPILE_TEST with
>>>>>>> m32r arch. I dig a bit, and, if any, I think we should use:
>>>>>>> Fixes: eb17726b00b3 ("m32r: add simple dma")
>>>>>>> since this commit adds dummy DMA support for m32r and seems to fix the
>>>>>>> HAS_DMA dependency.
>>>>>>
>>>>>> Ah, I forgot to update the Fixes: tag(s).
>>>>>>
>>>>>> I won't disagree with your Fixes: suggestion (good digging) but
>>>>>> I would probably have used 8d7d11005e930:
>>>>>> ASoC: atmel: fix build failure
>>>>>> which is the commit that added "depends on HAS_DMA".
>>>>>
>>>>> M32r was not the only platform NO_DMA, so I guess the build would
>>>>> have failed for the others, too (e.g. Sun-3).
>>>>>
>>>>> So the real fix was probably commit f29ab49b5388b2f8 ("dma-mapping:
>>>>> Convert NO_DMA get_dma_ops() into a real dummy"), or one of the
>>>>> related commits adding dummies to subsystems.
>>>>
>>>> Does this mean that some other actions are needed here?
>>>> E.g. revert + a different kind of fix?
>>>
>>> While we can now compile drivers using DMA features on NO_DMA
>>> platforms, thanks to the dummies, it does mean many of these drivers
>>> cannot work on such platforms. So I think it makes sense to replace
>>> "depends on HAS_DMA" by "depends on HAS_DMA || COMPILE_TEST" if DMA
>>> is not optional to the driver.
>>
>> Hi Geert,
>>
>> Is this what you had in mind? It seems to work with my (limited)
>> testing.
>
> Yes. And also for other symbols for drivers that now compile fine
> if !HAS_DMA, thanks to the dummies.
>
>> --- linux-next-20210907.orig/sound/soc/atmel/Kconfig
>> +++ linux-next-20210907/sound/soc/atmel/Kconfig
>> @@ -11,6 +11,7 @@ if SND_ATMEL_SOC
>>
>> config SND_ATMEL_SOC_PDC
>> bool
>> + depends on HAS_DMA || COMPILE_TEST
>>
>> config SND_ATMEL_SOC_DMA
>> bool

Well. Addressing only sound/, only one more patch is needed AFAICT.
For Kconfigs outside of sound/, that would be more of a medium-length
project.


Lightly/successfully build-tested.

---
sound/soc/fsl/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next-20210907.orig/sound/soc/fsl/Kconfig
+++ linux-next-20210907/sound/soc/fsl/Kconfig
@@ -5,7 +5,7 @@ comment "Common SoC Audio options for Fr

config SND_SOC_FSL_ASRC
tristate "Asynchronous Sample Rate Converter (ASRC) module support"
- depends on HAS_DMA
+ depends on HAS_DMA || COMPILE_TEST
select REGMAP_MMIO
select SND_SOC_GENERIC_DMAENGINE_PCM
help