Re: linux-next: build failure after merge of the net-next tree

From: Arnd Bergmann
Date: Mon Aug 09 2021 - 09:22:24 EST

On Mon, Aug 9, 2021 at 12:20 PM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> Hi all,
> After merging the net-next tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
> drivers/net/ethernet/cirrus/cs89x0.c: In function 'net_open':
> drivers/net/ethernet/cirrus/cs89x0.c:897:20: error: implicit declaration of function 'isa_virt_to_bus' [-Werror=implicit-function-declaration]
> 897 | (unsigned long)isa_virt_to_bus(lp->dma_buff));
> | ^~~~~~~~~~~~~~~

Thank you for the report! I already sent a patch for m68knommu running into
this issue, but it seems there are other architectures that still have it.

The driver checks CONFIG_ISA_DMA_API at compile time to determine
whether isa_virt_to_bus(), set_dma_mode(), set_dma_addr(), ... are all

It seems that isa_virt_to_bus() is only implemented on most of the
architectures that set ISA_DMA_API: alpha, arm, mips, parisc and x86,
but not on m68k/coldfire and powerpc.

Before my patch, the platform driver could only be built on ARM,
so maybe we should just go back to that dependency or something

depends on ARM || ((X86 || !ISA_DMA_API) && COMPILE_TEST)

for extra build coverage. Then again, it's hard to find any machine
actually using these: we have a couple of s3c24xx machines that
use the wrong device name, so the device never gets probed, the imx
machines that used to work are gone, and the ep7211-edb7211.dts
is missing a device node for it. Most likely, neither the platform nor
the ISA driver are actually used by anyone.