[radeon-alex:amd-staging-drm-next 119/659] 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
Mon Jul 17 04:22:09 UTC 2017


tree:   git://people.freedesktop.org/~agd5f/linux.git amd-staging-drm-next
head:   db8f738b815a11a4d093951cd753d6eb256813b7
commit: eb701dfaf7db5bb4f1cae66fb0c65d1cf52442d6 [119/659] 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 eb701dfaf7db5bb4f1cae66fb0c65d1cf52442d6
        # save the attached .config to linux build tree
        make.cross ARCH=blackfin 

All errors (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

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

:::::: The code at line 58 was first introduced by commit
:::::: 2e0e8d861a6a1baf6e02bbbcd09b4249cce6ba24 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: 44885 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170717/0ca3464d/attachment-0001.gz>


More information about the dri-devel mailing list