[linux-next:pending-fixes 171/335] arch/powerpc/platforms/pseries/pci_dlpar.c:38:undefined reference to `ppc_iommu_register_device'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git pending-fixes
head:   cdf641895851e4edf648a3d063e90f8f5a07e77f
commit: ed8b94f6e0acd652ce69bd69d678a0c769172df8 [171/335] powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add
config: powerpc64-randconfig-c004-20211019 (https://download.01.org/0day-ci/archive/20240208/202402081627.nFKfKh2A-lkp@xxxxxxxxx/config)
compiler: powerpc64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240208/202402081627.nFKfKh2A-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402081627.nFKfKh2A-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   powerpc64-linux-ld: warning: discarding dynamic section .glink
   powerpc64-linux-ld: warning: discarding dynamic section .plt
   powerpc64-linux-ld: linkage table error against `ppc_iommu_register_device'
   powerpc64-linux-ld: stubs don't match calculated size
   powerpc64-linux-ld: can not build stubs: bad value
   powerpc64-linux-ld: arch/powerpc/platforms/pseries/pci_dlpar.o: in function `init_phb_dynamic':
>> arch/powerpc/platforms/pseries/pci_dlpar.c:38:(.text+0x98): undefined reference to `ppc_iommu_register_device'
   powerpc64-linux-ld: arch/powerpc/platforms/pseries/pci_dlpar.o: in function `remove_phb_dynamic':
>> arch/powerpc/platforms/pseries/pci_dlpar.c:81:(.text+0x1fc): undefined reference to `ppc_iommu_unregister_device'


vim +38 arch/powerpc/platforms/pseries/pci_dlpar.c

    20	
    21	struct pci_controller *init_phb_dynamic(struct device_node *dn)
    22	{
    23		struct pci_controller *phb;
    24	
    25		pr_debug("PCI: Initializing new hotplug PHB %pOF\n", dn);
    26	
    27		phb = pcibios_alloc_controller(dn);
    28		if (!phb)
    29			return NULL;
    30		rtas_setup_phb(phb);
    31		pci_process_bridge_OF_ranges(phb, dn, 0);
    32		phb->controller_ops = pseries_pci_controller_ops;
    33	
    34		pci_devs_phb_init_dynamic(phb);
    35	
    36		pseries_msi_allocate_domains(phb);
    37	
  > 38		ppc_iommu_register_device(phb);
    39	
    40		/* Create EEH devices for the PHB */
    41		eeh_phb_pe_create(phb);
    42	
    43		if (dn->child)
    44			pseries_eeh_init_edev_recursive(PCI_DN(dn));
    45	
    46		pcibios_scan_phb(phb);
    47		pcibios_finish_adding_to_bus(phb->bus);
    48	
    49		return phb;
    50	}
    51	EXPORT_SYMBOL_GPL(init_phb_dynamic);
    52	
    53	/* RPA-specific bits for removing PHBs */
    54	int remove_phb_dynamic(struct pci_controller *phb)
    55	{
    56		struct pci_bus *b = phb->bus;
    57		struct pci_host_bridge *host_bridge = to_pci_host_bridge(b->bridge);
    58		struct resource *res;
    59		int rc, i;
    60	
    61		pr_debug("PCI: Removing PHB %04x:%02x...\n",
    62			 pci_domain_nr(b), b->number);
    63	
    64		/* We cannot to remove a root bus that has children */
    65		if (!(list_empty(&b->children) && list_empty(&b->devices)))
    66			return -EBUSY;
    67	
    68		/* We -know- there aren't any child devices anymore at this stage
    69		 * and thus, we can safely unmap the IO space as it's not in use
    70		 */
    71		res = &phb->io_resource;
    72		if (res->flags & IORESOURCE_IO) {
    73			rc = pcibios_unmap_io_space(b);
    74			if (rc) {
    75				printk(KERN_ERR "%s: failed to unmap IO on bus %s\n",
    76				       __func__, b->name);
    77				return 1;
    78			}
    79		}
    80	
  > 81		ppc_iommu_unregister_device(phb);

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux