lkml.org 
[lkml]   [2020]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] dmaengine: tegra: fix broken 'select' statement
From
Date
On 4/8/20 2:04 PM, Arnd Bergmann wrote:
> A SoC driver selects the dmaengine driver for the platform it
> is made for, leading to Kconfig warnings in some configurations:
>
> 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]
>
> 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]
>
> Generally, no driver should 'select' a driver from a different subsystem,
> especially when there is no build-time dependency between the two.

IIRC there's a run-time dependency between the two though; without the
DMA driver available to implement a HW WAR, the fuse driver has to
access fuse registers directly which IIRC can cause a lock-up, or
something like that. So I think allowing APD_DMA to be deselected by the
user is wrong for T20 at least; it simply must be enabled. Perhaps
ARCH_TEGRA_2x_SOC should select it instead?

\
 
 \ /
  Last update: 2020-04-08 23:38    [W:0.088 / U:0.424 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site