sound/core/pcm_native.c:3412:24: error: implicit declaration of function 'pgprot_writecombine'; did you mean 'dma_free_writecombine'?

From: kbuild test robot
Date: Tue Jun 02 2020 - 07:59:09 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f359287765c04711ff54fbd11645271d8e5ff763
commit: b0310c2f09bbe8aebefb97ed67949a3a7092aca6 USB: use genalloc for USB HCs with local memory
config: m68k-randconfig-r002-20200602 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout b0310c2f09bbe8aebefb97ed67949a3a7092aca6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>, old ones prefixed by <<):

sound/core/pcm_native.c: In function 'snd_pcm_lib_default_mmap':
<< from sound/core/pcm_native.c:45:
>> sound/core/pcm_native.c:3412:24: error: implicit declaration of function 'pgprot_writecombine'; did you mean 'dma_free_writecombine'? [-Werror=implicit-function-declaration]
3412 | area->vm_page_prot = pgprot_writecombine(area->vm_page_prot);
| ^~~~~~~~~~~~~~~~~~~
| dma_free_writecombine
sound/core/pcm_native.c:3412:24: error: incompatible types when assigning to type 'pgprot_t' {aka 'struct <anonymous>'} from type 'int'
cc1: some warnings being treated as errors

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b0310c2f09bbe8aebefb97ed67949a3a7092aca6
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout b0310c2f09bbe8aebefb97ed67949a3a7092aca6
vim +3412 sound/core/pcm_native.c

^1da177e4c3f41 Linus Torvalds 2005-04-16 3393
^1da177e4c3f41 Linus Torvalds 2005-04-16 3394 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 3395 * mmap the DMA buffer on RAM
^1da177e4c3f41 Linus Torvalds 2005-04-16 3396 */
30b771cf8c3120 Takashi Iwai 2014-10-30 3397
30b771cf8c3120 Takashi Iwai 2014-10-30 3398 /**
30b771cf8c3120 Takashi Iwai 2014-10-30 3399 * snd_pcm_lib_default_mmap - Default PCM data mmap function
30b771cf8c3120 Takashi Iwai 2014-10-30 3400 * @substream: PCM substream
30b771cf8c3120 Takashi Iwai 2014-10-30 3401 * @area: VMA
30b771cf8c3120 Takashi Iwai 2014-10-30 3402 *
30b771cf8c3120 Takashi Iwai 2014-10-30 3403 * This is the default mmap handler for PCM data. When mmap pcm_ops is NULL,
30b771cf8c3120 Takashi Iwai 2014-10-30 3404 * this function is invoked implicitly.
30b771cf8c3120 Takashi Iwai 2014-10-30 3405 */
18a2b962337047 Takashi Iwai 2011-09-28 3406 int snd_pcm_lib_default_mmap(struct snd_pcm_substream *substream,
877211f5e1b119 Takashi Iwai 2005-11-17 3407 struct vm_area_struct *area)
^1da177e4c3f41 Linus Torvalds 2005-04-16 3408 {
314e51b9851b4f Konstantin Khlebnikov 2012-10-08 3409 area->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
a5606f85611267 Takashi Iwai 2013-10-24 3410 #ifdef CONFIG_GENERIC_ALLOCATOR
055032142c42d2 Nicolin Chen 2013-10-23 3411 if (substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV_IRAM) {
055032142c42d2 Nicolin Chen 2013-10-23 @3412 area->vm_page_prot = pgprot_writecombine(area->vm_page_prot);
055032142c42d2 Nicolin Chen 2013-10-23 3413 return remap_pfn_range(area, area->vm_start,
055032142c42d2 Nicolin Chen 2013-10-23 3414 substream->dma_buffer.addr >> PAGE_SHIFT,
055032142c42d2 Nicolin Chen 2013-10-23 3415 area->vm_end - area->vm_start, area->vm_page_prot);
055032142c42d2 Nicolin Chen 2013-10-23 3416 }
a5606f85611267 Takashi Iwai 2013-10-24 3417 #endif /* CONFIG_GENERIC_ALLOCATOR */
49d776ffb50f2e Takashi Iwai 2014-10-24 3418 #ifndef CONFIG_X86 /* for avoiding warnings arch/x86/mm/pat.c */
abe594c2cf55b4 Geert Uytterhoeven 2017-07-09 3419 if (IS_ENABLED(CONFIG_HAS_DMA) && !substream->ops->page &&
657b1989dacf58 Takashi Iwai 2009-11-26 3420 substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV)
657b1989dacf58 Takashi Iwai 2009-11-26 3421 return dma_mmap_coherent(substream->dma_buffer.dev.dev,
657b1989dacf58 Takashi Iwai 2009-11-26 3422 area,
657b1989dacf58 Takashi Iwai 2009-11-26 3423 substream->runtime->dma_area,
657b1989dacf58 Takashi Iwai 2009-11-26 3424 substream->runtime->dma_addr,
9066ae7ff5d89c Stefan Roese 2018-03-26 3425 substream->runtime->dma_bytes);
49d776ffb50f2e Takashi Iwai 2014-10-24 3426 #endif /* CONFIG_X86 */
657b1989dacf58 Takashi Iwai 2009-11-26 3427 /* mmap with fault handler */
657b1989dacf58 Takashi Iwai 2009-11-26 3428 area->vm_ops = &snd_pcm_vm_ops_data_fault;
^1da177e4c3f41 Linus Torvalds 2005-04-16 3429 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 3430 }
18a2b962337047 Takashi Iwai 2011-09-28 3431 EXPORT_SYMBOL_GPL(snd_pcm_lib_default_mmap);
^1da177e4c3f41 Linus Torvalds 2005-04-16 3432

:::::: The code at line 3412 was first introduced by commit
:::::: 055032142c42d2821c4aa617915292d6a08d56fc ALSA: Add SoC on-chip internal ram support for DMA buffer allocation

:::::: TO: Nicolin Chen <b42378@xxxxxxxxxxxxx>
:::::: CC: Takashi Iwai <tiwai@xxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip