* [arm:cex7 23/135] drivers/pci//controller/mobiveil/pcie-mobiveil-host.c:362:15: error: variable 'mobiveil_msi_domain_info' has initializer but incomplete type
@ 2019-12-28 22:38 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-12-28 22:38 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 19057 bytes --]
Hi Hou,
FYI, the error/warning still remains.
tree: git://git.armlinux.org.uk/~rmk/linux-arm.git cex7
head: 87cc6306bc4f390754ef26ae307b7b19546aeeb3
commit: 98b7149f9e2fa31f0053859bdd27b2c74c2b6369 [23/135] PCI: mobiveil: Refactor Mobiveil PCIe Host Bridge IP driver
config: mips-allmodconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 7.5.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 98b7149f9e2fa31f0053859bdd27b2c74c2b6369
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (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;
98b7149f9e2fa3 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);
98b7149f9e2fa3 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);
98b7149f9e2fa3 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
98b7149f9e2fa3 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/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 62144 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-12-28 22:38 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-28 22:38 [arm:cex7 23/135] 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.