* [meghadey-crypto:final_ims 1/8] drivers/perf/arm_smmuv3_pmu.c:655:21: error: variable 'smmu_pmu_msi_ops' has initializer but incomplete type
@ 2019-12-03 16:27 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-12-03 16:27 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3589 bytes --]
tree: https://github.com/meghadey/crypto final_ims
head: c62539092ec56c5d71c7ee86dbb5eabd583492c1
commit: f6f2d5dda5d31d2150fe74fed1505695131c0fbf [1/8] drivers/base: Introduce platform_msi_ops
config: arm64-allmodconfig (attached as .config)
compiler: aarch64-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 f6f2d5dda5d31d2150fe74fed1505695131c0fbf
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=arm64
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/perf/arm_smmuv3_pmu.c:655:21: error: variable 'smmu_pmu_msi_ops' has initializer but incomplete type
static const struct gen_msi_ops smmu_pmu_msi_ops = {
^~~~~~~~~~~
>> drivers/perf/arm_smmuv3_pmu.c:656:3: error: 'const struct gen_msi_ops' has no member named 'write_msg'
.write_msg = smmu_pmu_write_msi_msg,
^~~~~~~~~
>> drivers/perf/arm_smmuv3_pmu.c:656:15: warning: excess elements in struct initializer
.write_msg = smmu_pmu_write_msi_msg,
^~~~~~~~~~~~~~~~~~~~~~
drivers/perf/arm_smmuv3_pmu.c:656:15: note: (near initialization for 'smmu_pmu_msi_ops')
drivers/perf/arm_smmuv3_pmu.c: In function 'smmu_pmu_setup_msi':
>> drivers/perf/arm_smmuv3_pmu.c:672:47: error: passing argument 3 of 'platform_msi_domain_alloc_irqs' from incompatible pointer type [-Werror=incompatible-pointer-types]
ret = platform_msi_domain_alloc_irqs(dev, 1, &smmu_pmu_msi_ops);
^
In file included from drivers/perf/arm_smmuv3_pmu.c:49:0:
include/linux/msi.h:350:5: note: expected 'const struct platform_msi_ops *' but argument is of type 'const struct gen_msi_ops *'
int platform_msi_domain_alloc_irqs(struct device *dev, unsigned int nvec,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/perf/arm_smmuv3_pmu.c: At top level:
>> drivers/perf/arm_smmuv3_pmu.c:655:33: error: storage size of 'smmu_pmu_msi_ops' isn't known
static const struct gen_msi_ops smmu_pmu_msi_ops = {
^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/smmu_pmu_msi_ops +655 drivers/perf/arm_smmuv3_pmu.c
654
> 655 static const struct gen_msi_ops smmu_pmu_msi_ops = {
> 656 .write_msg = smmu_pmu_write_msi_msg,
657 };
658
659 static void smmu_pmu_setup_msi(struct smmu_pmu *pmu)
660 {
661 struct msi_desc *desc;
662 struct device *dev = pmu->dev;
663 int ret;
664
665 /* Clear MSI address reg */
666 writeq_relaxed(0, pmu->reg_base + SMMU_PMCG_IRQ_CFG0);
667
668 /* MSI supported or not */
669 if (!(readl(pmu->reg_base + SMMU_PMCG_CFGR) & SMMU_PMCG_CFGR_MSI))
670 return;
671
> 672 ret = platform_msi_domain_alloc_irqs(dev, 1, &smmu_pmu_msi_ops);
673 if (ret) {
674 dev_warn(dev, "failed to allocate MSIs\n");
675 return;
676 }
677
678 desc = first_msi_entry(dev);
679 if (desc)
680 pmu->irq = desc->irq;
681
682 /* Add callback to free MSIs on teardown */
683 devm_add_action(dev, smmu_pmu_free_msis, dev);
684 }
685
---
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: 69079 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-12-03 16:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-03 16:27 [meghadey-crypto:final_ims 1/8] drivers/perf/arm_smmuv3_pmu.c:655:21: error: variable 'smmu_pmu_msi_ops' 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.