[PATCH v2 2/5] PCI: sg2042: Add Sophgo SG2042 PCIe driver
kernel test robot
lkp at intel.com
Sun Dec 15 01:17:37 PST 2024
Hi Chen,
kernel test robot noticed the following build warnings:
[auto build test WARNING on fac04efc5c793dccbd07e2d59af9f90b7fc0dca4]
url: https://github.com/intel-lab-lkp/linux/commits/Chen-Wang/dt-bindings-pci-Add-Sophgo-SG2042-PCIe-host/20241209-152613
base: fac04efc5c793dccbd07e2d59af9f90b7fc0dca4
patch link: https://lore.kernel.org/r/1d82eff3670f60df24228e5c83cf663c6dd61eaf.1733726572.git.unicorn_wang%40outlook.com
patch subject: [PATCH v2 2/5] PCI: sg2042: Add Sophgo SG2042 PCIe driver
config: sh-randconfig-r071-20241215 (https://download.01.org/0day-ci/archive/20241215/202412151758.8ckkzHnf-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241215/202412151758.8ckkzHnf-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412151758.8ckkzHnf-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/pci/controller/cadence/pcie-sg2042.c:23:
>> drivers/pci/controller/cadence/../../../irqchip/irq-msi-lib.h:25:39: warning: 'struct msi_domain_info' declared inside parameter list will not be visible outside of this definition or declaration
25 | struct msi_domain_info *info);
| ^~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:306:15: error: variable 'sg2042_pcie_msi_parent_ops' has initializer but incomplete type
306 | static struct msi_parent_ops sg2042_pcie_msi_parent_ops = {
| ^~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:307:10: error: 'struct msi_parent_ops' has no member named 'required_flags'
307 | .required_flags = SG2042_PCIE_MSI_FLAGS_REQUIRED,
| ^~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:301:41: error: 'MSI_FLAG_USE_DEF_DOM_OPS' undeclared here (not in a function)
301 | #define SG2042_PCIE_MSI_FLAGS_REQUIRED (MSI_FLAG_USE_DEF_DOM_OPS | \
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:307:35: note: in expansion of macro 'SG2042_PCIE_MSI_FLAGS_REQUIRED'
307 | .required_flags = SG2042_PCIE_MSI_FLAGS_REQUIRED,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:302:41: error: 'MSI_FLAG_USE_DEF_CHIP_OPS' undeclared here (not in a function)
302 | MSI_FLAG_USE_DEF_CHIP_OPS)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:307:35: note: in expansion of macro 'SG2042_PCIE_MSI_FLAGS_REQUIRED'
307 | .required_flags = SG2042_PCIE_MSI_FLAGS_REQUIRED,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/cadence/pcie-sg2042.c:301:40: warning: excess elements in struct initializer
301 | #define SG2042_PCIE_MSI_FLAGS_REQUIRED (MSI_FLAG_USE_DEF_DOM_OPS | \
| ^
drivers/pci/controller/cadence/pcie-sg2042.c:307:35: note: in expansion of macro 'SG2042_PCIE_MSI_FLAGS_REQUIRED'
307 | .required_flags = SG2042_PCIE_MSI_FLAGS_REQUIRED,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:301:40: note: (near initialization for 'sg2042_pcie_msi_parent_ops')
301 | #define SG2042_PCIE_MSI_FLAGS_REQUIRED (MSI_FLAG_USE_DEF_DOM_OPS | \
| ^
drivers/pci/controller/cadence/pcie-sg2042.c:307:35: note: in expansion of macro 'SG2042_PCIE_MSI_FLAGS_REQUIRED'
307 | .required_flags = SG2042_PCIE_MSI_FLAGS_REQUIRED,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:308:10: error: 'struct msi_parent_ops' has no member named 'supported_flags'
308 | .supported_flags = SG2042_PCIE_MSI_FLAGS_SUPPORTED,
| ^~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:304:41: error: 'MSI_GENERIC_FLAGS_MASK' undeclared here (not in a function)
304 | #define SG2042_PCIE_MSI_FLAGS_SUPPORTED MSI_GENERIC_FLAGS_MASK
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:308:35: note: in expansion of macro 'SG2042_PCIE_MSI_FLAGS_SUPPORTED'
308 | .supported_flags = SG2042_PCIE_MSI_FLAGS_SUPPORTED,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:304:41: warning: excess elements in struct initializer
304 | #define SG2042_PCIE_MSI_FLAGS_SUPPORTED MSI_GENERIC_FLAGS_MASK
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:308:35: note: in expansion of macro 'SG2042_PCIE_MSI_FLAGS_SUPPORTED'
308 | .supported_flags = SG2042_PCIE_MSI_FLAGS_SUPPORTED,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:304:41: note: (near initialization for 'sg2042_pcie_msi_parent_ops')
304 | #define SG2042_PCIE_MSI_FLAGS_SUPPORTED MSI_GENERIC_FLAGS_MASK
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:308:35: note: in expansion of macro 'SG2042_PCIE_MSI_FLAGS_SUPPORTED'
308 | .supported_flags = SG2042_PCIE_MSI_FLAGS_SUPPORTED,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:309:10: error: 'struct msi_parent_ops' has no member named 'bus_select_mask'
309 | .bus_select_mask = MATCH_PCI_MSI,
| ^~~~~~~~~~~~~~~
>> drivers/pci/controller/cadence/../../../irqchip/irq-msi-lib.h:15:33: warning: excess elements in struct initializer
15 | #define MATCH_PCI_MSI (0)
| ^
drivers/pci/controller/cadence/pcie-sg2042.c:309:35: note: in expansion of macro 'MATCH_PCI_MSI'
309 | .bus_select_mask = MATCH_PCI_MSI,
| ^~~~~~~~~~~~~
drivers/pci/controller/cadence/../../../irqchip/irq-msi-lib.h:15:33: note: (near initialization for 'sg2042_pcie_msi_parent_ops')
15 | #define MATCH_PCI_MSI (0)
| ^
drivers/pci/controller/cadence/pcie-sg2042.c:309:35: note: in expansion of macro 'MATCH_PCI_MSI'
309 | .bus_select_mask = MATCH_PCI_MSI,
| ^~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:310:10: error: 'struct msi_parent_ops' has no member named 'bus_select_token'
310 | .bus_select_token = DOMAIN_BUS_NEXUS,
| ^~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:310:35: warning: excess elements in struct initializer
310 | .bus_select_token = DOMAIN_BUS_NEXUS,
| ^~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:310:35: note: (near initialization for 'sg2042_pcie_msi_parent_ops')
drivers/pci/controller/cadence/pcie-sg2042.c:311:10: error: 'struct msi_parent_ops' has no member named 'prefix'
311 | .prefix = "SG2042-",
| ^~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:311:35: warning: excess elements in struct initializer
311 | .prefix = "SG2042-",
| ^~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:311:35: note: (near initialization for 'sg2042_pcie_msi_parent_ops')
drivers/pci/controller/cadence/pcie-sg2042.c:312:10: error: 'struct msi_parent_ops' has no member named 'init_dev_msi_info'
312 | .init_dev_msi_info = msi_lib_init_dev_msi_info,
| ^~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:312:35: warning: excess elements in struct initializer
312 | .init_dev_msi_info = msi_lib_init_dev_msi_info,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/cadence/pcie-sg2042.c:312:35: note: (near initialization for 'sg2042_pcie_msi_parent_ops')
drivers/pci/controller/cadence/pcie-sg2042.c: In function 'sg2042_pcie_setup_msi':
drivers/pci/controller/cadence/pcie-sg2042.c:344:22: error: 'struct irq_domain' has no member named 'msi_parent_ops'
344 | parent_domain->msi_parent_ops = &sg2042_pcie_msi_parent_ops;
| ^~
drivers/pci/controller/cadence/pcie-sg2042.c: At top level:
drivers/pci/controller/cadence/pcie-sg2042.c:306:30: error: storage size of 'sg2042_pcie_msi_parent_ops' isn't known
306 | static struct msi_parent_ops sg2042_pcie_msi_parent_ops = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +25 drivers/pci/controller/cadence/../../../irqchip/irq-msi-lib.h
72e257c6f058032 Thomas Gleixner 2024-06-23 11
8c41ccec839c622 Thomas Gleixner 2024-06-23 12 #ifdef CONFIG_PCI_MSI
8c41ccec839c622 Thomas Gleixner 2024-06-23 13 #define MATCH_PCI_MSI BIT(DOMAIN_BUS_PCI_MSI)
8c41ccec839c622 Thomas Gleixner 2024-06-23 14 #else
8c41ccec839c622 Thomas Gleixner 2024-06-23 @15 #define MATCH_PCI_MSI (0)
8c41ccec839c622 Thomas Gleixner 2024-06-23 16 #endif
8c41ccec839c622 Thomas Gleixner 2024-06-23 17
496436f4a514a3f Thomas Gleixner 2024-06-23 18 #define MATCH_PLATFORM_MSI BIT(DOMAIN_BUS_PLATFORM_MSI)
496436f4a514a3f Thomas Gleixner 2024-06-23 19
72e257c6f058032 Thomas Gleixner 2024-06-23 20 int msi_lib_irq_domain_select(struct irq_domain *d, struct irq_fwspec *fwspec,
72e257c6f058032 Thomas Gleixner 2024-06-23 21 enum irq_domain_bus_token bus_token);
72e257c6f058032 Thomas Gleixner 2024-06-23 22
72e257c6f058032 Thomas Gleixner 2024-06-23 23 bool msi_lib_init_dev_msi_info(struct device *dev, struct irq_domain *domain,
72e257c6f058032 Thomas Gleixner 2024-06-23 24 struct irq_domain *real_parent,
72e257c6f058032 Thomas Gleixner 2024-06-23 @25 struct msi_domain_info *info);
72e257c6f058032 Thomas Gleixner 2024-06-23 26
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the linux-riscv
mailing list