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

From: Joel Stanley
Date: Mon Mar 20 2017 - 23:01:04 EST


On Tue, Mar 21, 2017 at 11:06 AM, Cyril Bur <cyrilbur@xxxxxxxxx> wrote:
> On Tue, 2017-03-21 at 11:18 +1100, Benjamin Herrenschmidt wrote:
>> On Mon, 2017-03-20 at 13:23 +0100, Arnd Bergmann wrote:
>> > On Mon, Mar 20, 2017 at 3:44 AM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>> > > Hi all,
>> > >
>> > > After merging the char-misc tree, today's linux-next build (x86_64
>> > > allmodconfig) failed like this:
>> > >
>> > > drivers/misc/aspeed-lpc-ctrl.c: In function 'aspeed_lpc_ctrl_mmap':
>> > > drivers/misc/aspeed-lpc-ctrl.c:51:9: error: implicit declaration of function 'pgprot_dmacoherent' [-Werror=implicit-function-declaration]
>> > > prot = pgprot_dmacoherent(prot);
>> >
>> > A lot of other drivers (including /dev/mem) just use pgprot_noncached() or
>> > pgprot_writecombine(), which would make the code portable and might be
>> > what you want here as well.
>> >
>> > pgprot_dmacoherent() is meant specifically for mapping RAM that is used
>> > for DMA buffers that come from dma_alloc_coherent(), which doesn't seem
>> > to be the case here.
>> >
>> > What kind of address range is this really?
>>
>> It's a piece of RAM that we reserve via a reserved region, which will
>> be accessed by HW (sort-of-DMA, ie, the "host" system will access that
>> using FW cycles on the LPC bus which we map to that reserved region of
>> memory).
>>
>> Joel, Cyril, can you send a 1-liner patch to change that to
>> pgprot_noncached() ?
>>
>
> Sure. Just to be clear - we want to keep COMPILE_TEST in kconfig?

Yep. With the change that Ben suggested we should be ok.

pgprot_noncached has a fall back definition in
include/asm-generic/pgtable.h, so all platforms will compile.

Cheers,

Joel