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

From: Stephen Rothwell <[email-masked]>
Date: Sun, 15 Aug 2021 22:04:32 +1000

Hi all,

On Mon, 9 Aug 2021 15:21:41 +0200 Arnd Bergmann <[email-masked]> wrote:
>
> On Mon, Aug 9, 2021 at 12:20 PM Stephen Rothwell <[email-masked]> wrote:
> >
> > 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
> defined.
> 
> 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
> like
> 
>          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.

I am still applying my patch removing COMPILE_TEST from this driver ..
-- 
Cheers,
Stephen Rothwell