Re: m68k build failures in -next: undefined reference to `arch_dma_prep_coherent'

From: Guenter Roeck
Date: Mon Jul 08 2019 - 15:45:22 EST


On Mon, Jul 08, 2019 at 09:13:02PM +0200, Geert Uytterhoeven wrote:
> Hi Günter,
>
> On Mon, Jul 8, 2019 at 7:06 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> > I see the following build error in -next:
> >
> > kernel/dma/direct.o: In function `dma_direct_alloc_pages':
> > direct.c:(.text+0x4d8): undefined reference to `arch_dma_prep_coherent'
> >
> > Example: m68k:allnoconfig.
> >
> > Bisect log is ambiguous and points to the merge of m68k/for-next into
> > -next. Yet, I think the problem is with commit 69878ef47562 ("m68k:
> > Implement arch_dma_prep_coherent()") which is supposed to introduce
> > the function. The problem is likely that arch_dma_prep_coherent()
> > is only declared if CONFIG_MMU is enabled, but it is called from code
> > outside CONFIG_MMU.
>
> Thanks, one more thing to fix in m68k-allnoconfig (did it really build
> before?)...
>
> Given you say "example", does it fail in real configs, too?
>

Yes, it does. All nommu builds fail. allnoconfig and tinyconfig just
happen to be among those.

Building m68k:allnoconfig ... failed
Building m68k:tinyconfig ... failed
Building m68k:m5272c3_defconfig ... failed
Building m68k:m5307c3_defconfig ... failed
Building m68k:m5249evb_defconfig ... failed
Building m68k:m5407c3_defconfig ... failed
Building m68k:m5475evb_defconfig ... failed

Error is always the same.

The error started with next-20190702. Prior to that, builds were fine,
including m68k:allnoconfig and m68k:tinyconfig.

Guenter