Re: linux-next: Tree for Jun 2 (arch/powerpc/kernel/iommu.c)

From: Michael Ellerman
Date: Sat Jun 03 2023 - 20:23:08 EST


Randy Dunlap <rdunlap@xxxxxxxxxxxxx> writes:
> On 6/1/23 21:01, Stephen Rothwell wrote:
>> Hi all,
>>
>> Changes since 20230601:
>>
>
> On powerpc64, a randconfig failed with:
>
> In file included from ../include/linux/list.h:5,
> from ../include/linux/preempt.h:11,
> from ../include/linux/spinlock.h:56,
> from ../include/linux/mmzone.h:8,
> from ../include/linux/gfp.h:7,
> from ../include/linux/slab.h:15,
> from ../arch/powerpc/kernel/iommu.c:15:
> ../arch/powerpc/kernel/iommu.c: In function 'spapr_tce_setup_phb_iommus_initcall':
> ../arch/powerpc/kernel/iommu.c:1391:36: error: 'hose_list' undeclared (first use in this function); did you mean 'zonelist'?
> 1391 | list_for_each_entry(hose, &hose_list, list_node) {
> | ^~~~~~~~~
...

hose_list is in pci-common.c which is built when PCI=y.

PSERIES and POWERNV force PCI=y.

But this config has neither:

# CONFIG_PPC_POWERNV is not set
# CONFIG_PPC_PSERIES is not set
CONFIG_HAVE_PCI=y
# CONFIG_PCI is not set
# CONFIG_COMMON_CLK_RS9_PCIE is not set


Probably the spapr_tce code should be wrapped in an #ifdef that is only
enabled when POWERNV || PSERIES is enabled.

cheers