diff mbox series

soc/tegra: fix unmet dependency on DMADEVICES for TEGRA20_APB_DMA

Message ID 20211029205945.11363-1-julianbraha@gmail.com
State Superseded
Headers show
Series soc/tegra: fix unmet dependency on DMADEVICES for TEGRA20_APB_DMA | expand

Commit Message

Julian Braha Oct. 29, 2021, 8:59 p.m. UTC
When SOC_TEGRA_FUSE is selected, and DMADEVICES
is not selected, Kbuild gives the following warning:

WARNING: unmet direct dependencies detected for TEGRA20_APB_DMA
  Depends on [n]: DMADEVICES [=n] && (ARCH_TEGRA [=y] || COMPILE_TEST [=y])
  Selected by [y]:
  - SOC_TEGRA_FUSE [=y] && ARCH_TEGRA [=y] && ARCH_TEGRA_2x_SOC [=y]

This is because SOC_TEGRA_FUSE selects TEGRA20_APB_DMA
without selecting or depending on DMADEVICES, despite
TEGRA20_APB_DMA depending on SOC_TEGRA_FUSE.

This unmet dependency bug was found by Kismet,
a static analysis tool for Kconfig. Please advise
if this is not the appropriate solution.

Signed-off-by: Julian Braha <julianbraha@gmail.com>
---
 drivers/soc/tegra/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Arnd Bergmann Oct. 29, 2021, 10:07 p.m. UTC | #1
On Fri, Oct 29, 2021 at 10:59 PM Julian Braha <julianbraha@gmail.com> wrote:
>
>  drivers/soc/tegra/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/soc/tegra/Kconfig b/drivers/soc/tegra/Kconfig
> index 8b53ed1cc67e..ee7f631933c2 100644
> --- a/drivers/soc/tegra/Kconfig
> +++ b/drivers/soc/tegra/Kconfig
> @@ -136,7 +136,7 @@ config SOC_TEGRA_FUSE
>         def_bool y
>         depends on ARCH_TEGRA
>         select SOC_BUS
> -       select TEGRA20_APB_DMA if ARCH_TEGRA_2x_SOC
> +       select TEGRA20_APB_DMA if DMADEVICES && ARCH_TEGRA_2x_SOC
>

Is this actually a compile-time dependency? If the fuse driver merely
uses DMA and assumes that the TEGRA20_APB_DMA driver is the one
providing this functionality, the 'select' should be removed here.

        Arnd
Dmitry Osipenko Oct. 29, 2021, 10:21 p.m. UTC | #2
30.10.2021 01:07, Arnd Bergmann пишет:
> On Fri, Oct 29, 2021 at 10:59 PM Julian Braha <julianbraha@gmail.com> wrote:
>>
>>  drivers/soc/tegra/Kconfig | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/soc/tegra/Kconfig b/drivers/soc/tegra/Kconfig
>> index 8b53ed1cc67e..ee7f631933c2 100644
>> --- a/drivers/soc/tegra/Kconfig
>> +++ b/drivers/soc/tegra/Kconfig
>> @@ -136,7 +136,7 @@ config SOC_TEGRA_FUSE
>>         def_bool y
>>         depends on ARCH_TEGRA
>>         select SOC_BUS
>> -       select TEGRA20_APB_DMA if ARCH_TEGRA_2x_SOC
>> +       select TEGRA20_APB_DMA if DMADEVICES && ARCH_TEGRA_2x_SOC
>>
> 
> Is this actually a compile-time dependency? If the fuse driver merely
> uses DMA and assumes that the TEGRA20_APB_DMA driver is the one
> providing this functionality, the 'select' should be removed here.

There was a patch that did it already [1], not sure what happened to it.

[1] https://lore.kernel.org/all/20200923003421.4561-1-digetx@gmail.com/
diff mbox series

Patch

diff --git a/drivers/soc/tegra/Kconfig b/drivers/soc/tegra/Kconfig
index 8b53ed1cc67e..ee7f631933c2 100644
--- a/drivers/soc/tegra/Kconfig
+++ b/drivers/soc/tegra/Kconfig
@@ -136,7 +136,7 @@  config SOC_TEGRA_FUSE
 	def_bool y
 	depends on ARCH_TEGRA
 	select SOC_BUS
-	select TEGRA20_APB_DMA if ARCH_TEGRA_2x_SOC
+	select TEGRA20_APB_DMA if DMADEVICES && ARCH_TEGRA_2x_SOC
 
 config SOC_TEGRA_FLOWCTRL
 	bool