Bug 209301

Summary: soc/tegra: fuse: SOC_TEGRA_FUSE violates Kconfig dependency of TEGRA20_APB_DMA
Product: Drivers Reporter: Necip Fazil Yildiran (fazilyildiran)
Component: Video(Other)Assignee: drivers_video-other
Status: NEW ---    
Severity: normal CC: digetx, fazilyildiran, thierry.reding
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 5.9-rc4 Subsystem:
Regression: No Bisected commit-id:

Description Necip Fazil Yildiran 2020-09-17 13:48:16 UTC
When SOC_TEGRA_FUSE is enabled and DMADEVICES is disabled, it results in
the following Kbuild warning:

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

The reason is that SOC_TEGRA_FUSE selects TEGRA20_APB_DMA without depending
on DMADEVICES while TEGRA20_APB_DMA is subordinate to DMADEVICES.

This is introduced with commit 19d41e5e9c68 ("soc/tegra: fuse: Add APB DMA dependency for Tegra20").
Comment 1 Dmitry Osipenko 2020-09-19 19:03:12 UTC
Hi, thank you for the report. I'll make patch to fix it during next week.
Comment 2 Thierry Reding 2024-04-11 09:22:46 UTC
This was fixed by the below commit:

commit 2254182807fc09ba9dec9a42ef239e373796f1b2
Author: Dmitry Osipenko <digetx@gmail.com>
Date:   Wed Sep 23 03:34:21 2020 +0300

    soc/tegra: fuse: Drop Kconfig dependency on TEGRA20_APB_DMA
    
    The DMA subsystem could be entirely disabled in Kconfig and then the
    TEGRA20_APB_DMA option isn't available too. Hence kernel configuration
    fails if DMADEVICES Kconfig option is disabled due to the unsatisfiable
    dependency.
    
    The FUSE driver isn't a critical driver and currently it only provides
    NVMEM interface to userspace which isn't known to be widely used, and
    thus, it's fine if FUSE driver fails to load.
    
    Let's remove the erroneous Kconfig dependency and let the FUSE driver to
    fail the probing if DMA is unavailable.
    
    Fixes: 19d41e5e9c68 ("soc/tegra: fuse: Add APB DMA dependency for Tegra20")
    Reported-by: Necip Fazil Yildiran <fazilyildiran@gmail.com>
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=209301
    Signed-off-by: Dmitry Osipenko <digetx@gmail.com>