[radeon-alex:raven 954/1060] sound/soc/amd/raven/pci-acp3x.c:58:8: error: implicit declaration of function 'pci_enable_msi'

kbuild test robot fengguang.wu at intel.com
Wed May 10 21:16:52 UTC 2017


tree:   git://people.freedesktop.org/~agd5f/linux.git raven
head:   c6ee08eda872bc7ac60ed0ba82a5d85e696a894c
commit: abb115931046498039111820de7b6b578c4cce8d [954/1060] ASoC: AMD: enable ACP3x drivers build
config: blackfin-allmodconfig (attached as .config)
compiler: bfin-uclinux-gcc (GCC) 6.2.0
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout abb115931046498039111820de7b6b578c4cce8d
        # save the attached .config to linux build tree
        make.cross ARCH=blackfin 

All error/warnings (new ones prefixed by >>):

   sound/soc/amd/raven/pci-acp3x.c: In function 'snd_acp3x_probe':
>> sound/soc/amd/raven/pci-acp3x.c:58:8: error: implicit declaration of function 'pci_enable_msi' [-Werror=implicit-function-declaration]
     ret = pci_enable_msi(pci);
           ^~~~~~~~~~~~~~
>> sound/soc/amd/raven/pci-acp3x.c:122:2: error: implicit declaration of function 'pci_disable_msi' [-Werror=implicit-function-declaration]
     pci_disable_msi(pci);
     ^~~~~~~~~~~~~~~
   sound/soc/amd/raven/pci-acp3x.c: At top level:
>> sound/soc/amd/raven/pci-acp3x.c:159:1: warning: data definition has no type or storage class
    module_pci_driver(acp3x_driver);
    ^~~~~~~~~~~~~~~~~
>> sound/soc/amd/raven/pci-acp3x.c:159:1: error: type defaults to 'int' in declaration of 'module_pci_driver' [-Werror=implicit-int]
>> sound/soc/amd/raven/pci-acp3x.c:159:1: warning: parameter names (without types) in function declaration
   sound/soc/amd/raven/pci-acp3x.c:152:26: warning: 'acp3x_driver' defined but not used [-Wunused-variable]
    static struct pci_driver acp3x_driver  = {
                             ^~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/pci_enable_msi +58 sound/soc/amd/raven/pci-acp3x.c

07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   52  	if (adata == NULL) {
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   53  		ret = -ENOMEM;
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   54  		goto release_regions;
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   55  	}
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   56  
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   57  	/* check for msi interrupt support */
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  @58  	ret = pci_enable_msi(pci);
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   59  	if (ret)
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   60  		/* msi is not enabled */
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   61  		irqflags = IRQF_SHARED;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   62  	else
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   63  		/* msi is enabled */
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   64  		irqflags = 0;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   65  
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   66  	addr = pci_resource_start(pci, 0);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   67  	adata->acp3x_base = ioremap(addr, pci_resource_len(pci, 0));
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   68  	if (adata->acp3x_base == NULL) {
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   69  		ret = -ENOMEM;
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   70  		goto release_regions;
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   71  	}
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   72  
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   73  	pci_set_drvdata(pci, adata);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27   74  
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   75  	val = rv_readl(adata->acp3x_base + mmACP_I2S_PIN_CONFIG);
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   76  	if (val == 0x4) {
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   77  		adata->res = devm_kzalloc(&pci->dev,
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   78  				sizeof(struct resource) * 2,
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   79  				GFP_KERNEL);
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   80  		if (adata->res == NULL) {
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   81  			ret = -ENOMEM;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   82  			goto unmap_mmio;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   83  		}
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   84  
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   85  		adata->res[0].name = "acp3x_i2s_iomem";
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   86  		adata->res[0].flags = IORESOURCE_MEM;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   87  		adata->res[0].start = addr;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   88  		adata->res[0].end = addr + (ACP3x_REG_END - ACP3x_REG_START);
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   89  
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   90  		adata->res[1].name = "acp3x_i2s_irq";
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   91  		adata->res[1].flags = IORESOURCE_IRQ;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   92  		adata->res[1].start = pci->irq;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   93  		adata->res[1].end = pci->irq;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   94  
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   95  		adata->acp3x_audio_mode = ACP3x_I2S_MODE;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   96  
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   97  		memset(&pdevinfo, 0, sizeof(pdevinfo));
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   98  		pdevinfo.name = "acp3x_rv_i2s";
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29   99  		pdevinfo.id = 0;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  100  		pdevinfo.parent = &pci->dev;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  101  		pdevinfo.num_res = 2;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  102  		pdevinfo.res = adata->res;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  103  		pdevinfo.data = &irqflags;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  104  		pdevinfo.size_data = sizeof(irqflags);
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  105  
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  106  		adata->pdev = platform_device_register_full(&pdevinfo);
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  107  		if (adata->pdev == NULL) {
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  108  			dev_err(&pci->dev, "cannot register %s device\n",
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  109  				pdevinfo.name);
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  110  			ret = -ENODEV;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  111  			goto unmap_mmio;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  112  		}
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  113  	} else {
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  114  		dev_err(&pci->dev, "Inavlid ACP audio mode : %d\n", val);
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  115  		ret = -ENODEV;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  116  		goto unmap_mmio;
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  117  	}
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  118  
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  119  	return 0;
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  120  
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  121  unmap_mmio:
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29 @122  	pci_disable_msi(pci);
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  123  	iounmap(adata->acp3x_base);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  124  release_regions:
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  125  	pci_release_regions(pci);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  126  disable_pci:
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  127  	pci_disable_device(pci);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  128  
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  129  	return ret;
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  130  }
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  131  
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  132  static void snd_acp3x_remove(struct pci_dev *pci)
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  133  {
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  134  	struct acp3x_dev_data *adata = pci_get_drvdata(pci);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  135  
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  136  	platform_device_unregister(adata->pdev);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  137  	iounmap(adata->acp3x_base);
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  138  
1ad4d332 Maruthi Srinivas Bayyavarapu 2017-03-29  139  	pci_disable_msi(pci);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  140  	pci_release_regions(pci);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  141  	pci_disable_device(pci);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  142  }
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  143  
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  144  static const struct pci_device_id snd_acp3x_ids[] = {
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  145  	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, 0x15e2),
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  146  	.class = PCI_CLASS_MULTIMEDIA_OTHER << 8,
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  147  	.class_mask = 0xffffff },
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  148  	{ 0, },
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  149  };
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  150  MODULE_DEVICE_TABLE(pci, snd_acp3x_ids);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  151  
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  152  static struct pci_driver acp3x_driver  = {
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  153  	.name = KBUILD_MODNAME,
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  154  	.id_table = snd_acp3x_ids,
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  155  	.probe = snd_acp3x_probe,
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  156  	.remove = snd_acp3x_remove,
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  157  };
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  158  
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27 @159  module_pci_driver(acp3x_driver);
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  160  
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  161  MODULE_AUTHOR("Maruthi.Bayyavarapu at amd.com");
07031657 Maruthi Srinivas Bayyavarapu 2017-03-27  162  MODULE_DESCRIPTION("AMD ACP3x PCI driver");

:::::: The code at line 58 was first introduced by commit
:::::: 1ad4d3326a76b39b0e91c3faba191a0434188332 ASoC: AMD: create ACP3x PCM platform device

:::::: TO: Maruthi Srinivas Bayyavarapu <Maruthi.Bayyavarapu at amd.com>
:::::: CC: Alex Deucher <alexander.deucher at amd.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 43881 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170511/2d410785/attachment-0001.gz>


More information about the dri-devel mailing list