[drm-intel:for-linux-next 1/1] include/linux/io-mapping.h:126:2: error: implicit declaration of function 'pgprot_writecombine'
Daniel Vetter
daniel.vetter at ffwll.ch
Tue Aug 23 19:26:46 UTC 2016
On Tue, Aug 23, 2016 at 9:16 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> On Wed, Aug 24, 2016 at 02:22:29AM +0800, kbuild test robot wrote:
>> tree: git://anongit.freedesktop.org/drm-intel for-linux-next
>> head: ac96b5566926af83463ddcf4655856033c092f26
>> commit: ac96b5566926af83463ddcf4655856033c092f26 [1/1] io-mapping.h: s/PAGE_KERNEL_IO/PAGE_KERNEL/
>> config: microblaze-nommu_defconfig (attached as .config)
>> compiler: microblaze-linux-gcc (GCC) 4.9.0
>> reproduce:
>> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>> chmod +x ~/bin/make.cross
>> git checkout ac96b5566926af83463ddcf4655856033c092f26
>> # save the attached .config to linux build tree
>> make.cross ARCH=microblaze
>>
>> All errors (new ones prefixed by >>):
>>
>> In file included from drivers/gpio/gpiolib-of.c:19:0:
>> include/linux/io-mapping.h: In function 'io_mapping_init_wc':
>> >> include/linux/io-mapping.h:126:2: error: implicit declaration of function 'pgprot_writecombine' [-Werror=implicit-function-declaration]
>> iomap->prot = pgprot_writecombine(PAGE_KERNEL);
>> ^
>> >> include/linux/io-mapping.h:126:14: error: incompatible types when assigning to type 'pgprot_t' from type 'int'
>> iomap->prot = pgprot_writecombine(PAGE_KERNEL);
>> ^
>> cc1: some warnings being treated as errors
>>
>> vim +/pgprot_writecombine +126 include/linux/io-mapping.h
>
> Grrr.
>
> diff --git a/include/linux/io-mapping.h b/include/linux/io-mapping.h
> index a87dd7fffc0a..babd4c53a5aa 100644
> --- a/include/linux/io-mapping.h
> +++ b/include/linux/io-mapping.h
> @@ -114,6 +114,10 @@ io_mapping_unmap(void __iomem *vaddr)
> #include <linux/uaccess.h>
> #include <asm/pgtable.h>
>
> +#ifdef pgprot_noncached_wc
> +#define pgprot_writecombine pgprot_noncached_wc
> +#endif
> +
> /* Create the io_mapping object*/
> static inline struct io_mapping *
> io_mapping_init_wc(struct io_mapping *iomap,
>
> is what I have in mind. Looks like a divide between x86 and ppc (and
> their followers).
tbh I'm leaning towards reverting, since this is getting a bit
embarrassing ;-) Also the io-mapping.h change wasn't reviewed or acked
by arch maintainers (which is probably should have been in hindsight).
And i915_mm.c probably should be somewhere in arch/core code, too.
I'll discuss this a bit more tomorrow with you &Joonas, but since it's
holding up the drm-intel-next pull revert it likely is.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the dri-devel
mailing list