* [arm:cex7 14/35] drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:362:15: error: variable 'mobiveil_msi_domain_info' has initializer but incomplete type
@ 2019-09-24 19:58 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-09-24 19:58 UTC (permalink / raw)
To: Hou Zhiqiang
Cc: Minghuan Lian, Russell King, Subrahmanya Lingappa, kbuild-all,
linux-arm-kernel
[-- Attachment #1: Type: text/plain, Size: 18863 bytes --]
Hi Hou,
First bad commit (maybe != root cause):
tree: git://git.armlinux.org.uk/~rmk/linux-arm.git cex7
head: 655ee1d87ab6a145c9fc22abc989936e47eebde6
commit: 2729e9ee9e99b04171a1cddddcd3027dd350dbde [14/35] PCI: mobiveil: Refactor Mobiveil PCIe Host Bridge IP driver
config: s390-allmodconfig (attached as .config)
compiler: s390-linux-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 2729e9ee9e99b04171a1cddddcd3027dd350dbde
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
>> drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:362:15: error: variable 'mobiveil_msi_domain_info' has initializer but incomplete type
static struct msi_domain_info mobiveil_msi_domain_info = {
^~~~~~~~~~~~~~~
>> drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:363:3: error: 'struct msi_domain_info' has no member named 'flags'
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
^~~~~
>> drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:363:12: error: 'MSI_FLAG_USE_DEF_DOM_OPS' undeclared here (not in a function); did you mean 'SIMPLE_DEV_PM_OPS'?
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
^~~~~~~~~~~~~~~~~~~~~~~~
SIMPLE_DEV_PM_OPS
>> drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:363:39: error: 'MSI_FLAG_USE_DEF_CHIP_OPS' undeclared here (not in a function); did you mean 'MSI_FLAG_USE_DEF_DOM_OPS'?
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
^~~~~~~~~~~~~~~~~~~~~~~~~
MSI_FLAG_USE_DEF_DOM_OPS
>> drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:364:6: error: 'MSI_FLAG_PCI_MSIX' undeclared here (not in a function); did you mean 'CONFIG_PCI_MSI'?
MSI_FLAG_PCI_MSIX),
^~~~~~~~~~~~~~~~~
CONFIG_PCI_MSI
>> drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:363:11: warning: excess elements in struct initializer
.flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
^
drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:363:11: note: (near initialization for 'mobiveil_msi_domain_info')
>> drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:365:3: error: 'struct msi_domain_info' has no member named 'chip'
.chip = &mobiveil_msi_irq_chip,
^~~~
drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:365:10: warning: excess elements in struct initializer
.chip = &mobiveil_msi_irq_chip,
^
drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:365:10: note: (near initialization for 'mobiveil_msi_domain_info')
drivers/pci/controller/mobiveil/pcie-mobiveil-host.c: In function 'mobiveil_allocate_msi_domains':
>> drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:456:20: error: implicit declaration of function 'pci_msi_create_irq_domain'; did you mean 'pci_msi_get_device_domain'? [-Werror=implicit-function-declaration]
msi->msi_domain = pci_msi_create_irq_domain(fwnode,
^~~~~~~~~~~~~~~~~~~~~~~~~
pci_msi_get_device_domain
>> drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:456:18: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
msi->msi_domain = pci_msi_create_irq_domain(fwnode,
^
drivers/pci/controller/mobiveil/pcie-mobiveil-host.c: At top level:
>> drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:362:31: error: storage size of 'mobiveil_msi_domain_info' isn't known
static struct msi_domain_info mobiveil_msi_domain_info = {
^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/mobiveil_msi_domain_info +362 drivers/pci/controller/mobiveil/pcie-mobiveil-host.c
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 361
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 @362 static struct msi_domain_info mobiveil_msi_domain_info = {
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 @363 .flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
a131fb6364c1be drivers/pci/controller/pcie-mobiveil.c Hou Zhiqiang 2019-07-05 @364 MSI_FLAG_PCI_MSIX),
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 @365 .chip = &mobiveil_msi_irq_chip,
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 366 };
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 367
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 368 static void mobiveil_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 369 {
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 370 struct mobiveil_pcie *pcie = irq_data_get_irq_chip_data(data);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 371 phys_addr_t addr = pcie->pcie_reg_base + (data->hwirq * sizeof(int));
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 372
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 373 msg->address_lo = lower_32_bits(addr);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 374 msg->address_hi = upper_32_bits(addr);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 375 msg->data = data->hwirq;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 376
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 377 dev_dbg(&pcie->pdev->dev, "msi#%d address_hi %#x address_lo %#x\n",
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 378 (int)data->hwirq, msg->address_hi, msg->address_lo);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 379 }
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 380
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 381 static int mobiveil_msi_set_affinity(struct irq_data *irq_data,
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 382 const struct cpumask *mask, bool force)
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 383 {
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 384 return -EINVAL;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 385 }
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 386
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 387 static struct irq_chip mobiveil_msi_bottom_irq_chip = {
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 388 .name = "Mobiveil MSI",
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 389 .irq_compose_msi_msg = mobiveil_compose_msi_msg,
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 390 .irq_set_affinity = mobiveil_msi_set_affinity,
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 391 };
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 392
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 393 static int mobiveil_irq_msi_domain_alloc(struct irq_domain *domain,
e369faf6255df5 drivers/pci/controller/pcie-mobiveil.c Hou Zhiqiang 2019-07-05 394 unsigned int virq,
e369faf6255df5 drivers/pci/controller/pcie-mobiveil.c Hou Zhiqiang 2019-07-05 395 unsigned int nr_irqs, void *args)
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 396 {
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 397 struct mobiveil_pcie *pcie = domain->host_data;
2729e9ee9e99b0 drivers/pci/controller/mobiveil/pcie-mobiveil-host.c Hou Zhiqiang 2019-08-13 398 struct mobiveil_msi *msi = &pcie->rp.msi;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 399 unsigned long bit;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 400
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 401 WARN_ON(nr_irqs != 1);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 402 mutex_lock(&msi->lock);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 403
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 404 bit = find_first_zero_bit(msi->msi_irq_in_use, msi->num_of_vectors);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 405 if (bit >= msi->num_of_vectors) {
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 406 mutex_unlock(&msi->lock);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 407 return -ENOSPC;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 408 }
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 409
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 410 set_bit(bit, msi->msi_irq_in_use);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 411
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 412 mutex_unlock(&msi->lock);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 413
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 414 irq_domain_set_info(domain, virq, bit, &mobiveil_msi_bottom_irq_chip,
e369faf6255df5 drivers/pci/controller/pcie-mobiveil.c Hou Zhiqiang 2019-07-05 415 domain->host_data, handle_level_irq, NULL, NULL);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 416 return 0;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 417 }
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 418
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 419 static void mobiveil_irq_msi_domain_free(struct irq_domain *domain,
e369faf6255df5 drivers/pci/controller/pcie-mobiveil.c Hou Zhiqiang 2019-07-05 420 unsigned int virq,
e369faf6255df5 drivers/pci/controller/pcie-mobiveil.c Hou Zhiqiang 2019-07-05 421 unsigned int nr_irqs)
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 422 {
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 423 struct irq_data *d = irq_domain_get_irq_data(domain, virq);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 424 struct mobiveil_pcie *pcie = irq_data_get_irq_chip_data(d);
2729e9ee9e99b0 drivers/pci/controller/mobiveil/pcie-mobiveil-host.c Hou Zhiqiang 2019-08-13 425 struct mobiveil_msi *msi = &pcie->rp.msi;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 426
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 427 mutex_lock(&msi->lock);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 428
e369faf6255df5 drivers/pci/controller/pcie-mobiveil.c Hou Zhiqiang 2019-07-05 429 if (!test_bit(d->hwirq, msi->msi_irq_in_use))
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 430 dev_err(&pcie->pdev->dev, "trying to free unused MSI#%lu\n",
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 431 d->hwirq);
e369faf6255df5 drivers/pci/controller/pcie-mobiveil.c Hou Zhiqiang 2019-07-05 432 else
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 433 __clear_bit(d->hwirq, msi->msi_irq_in_use);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 434
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 435 mutex_unlock(&msi->lock);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 436 }
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 437 static const struct irq_domain_ops msi_domain_ops = {
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 438 .alloc = mobiveil_irq_msi_domain_alloc,
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 439 .free = mobiveil_irq_msi_domain_free,
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 440 };
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 441
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 442 static int mobiveil_allocate_msi_domains(struct mobiveil_pcie *pcie)
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 443 {
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 444 struct device *dev = &pcie->pdev->dev;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 445 struct fwnode_handle *fwnode = of_node_to_fwnode(dev->of_node);
2729e9ee9e99b0 drivers/pci/controller/mobiveil/pcie-mobiveil-host.c Hou Zhiqiang 2019-08-13 446 struct mobiveil_msi *msi = &pcie->rp.msi;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 447
2729e9ee9e99b0 drivers/pci/controller/mobiveil/pcie-mobiveil-host.c Hou Zhiqiang 2019-08-13 448 mutex_init(&msi->lock);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 449 msi->dev_domain = irq_domain_add_linear(NULL, msi->num_of_vectors,
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 450 &msi_domain_ops, pcie);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 451 if (!msi->dev_domain) {
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 452 dev_err(dev, "failed to create IRQ domain\n");
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 453 return -ENOMEM;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 454 }
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 455
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 @456 msi->msi_domain = pci_msi_create_irq_domain(fwnode,
e369faf6255df5 drivers/pci/controller/pcie-mobiveil.c Hou Zhiqiang 2019-07-05 457 &mobiveil_msi_domain_info,
e369faf6255df5 drivers/pci/controller/pcie-mobiveil.c Hou Zhiqiang 2019-07-05 458 msi->dev_domain);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 459 if (!msi->msi_domain) {
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 460 dev_err(dev, "failed to create MSI domain\n");
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 461 irq_domain_remove(msi->dev_domain);
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 462 return -ENOMEM;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 463 }
e369faf6255df5 drivers/pci/controller/pcie-mobiveil.c Hou Zhiqiang 2019-07-05 464
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 465 return 0;
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 466 }
1e913e58335fbc drivers/pci/host/pcie-mobiveil.c Subrahmanya Lingappa 2018-05-30 467
:::::: The code at line 362 was first introduced by commit
:::::: 1e913e58335fbc7a8da9662746dd54d6091488b8 PCI: mobiveil: Add MSI support
:::::: TO: Subrahmanya Lingappa <l.subrahmanya@mobiveil.co.in>
:::::: CC: Bjorn Helgaas <bhelgaas@google.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 55857 bytes --]
[-- Attachment #3: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-09-24 20:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-24 19:58 [arm:cex7 14/35] drivers/pci/controller/mobiveil/pcie-mobiveil-host.c:362:15: error: variable 'mobiveil_msi_domain_info' has initializer but incomplete type kbuild test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).