[PATCH -next] ACPI/IORT: Fix build error implicit-function-declaration

Hanjun Guo guohanjun at huawei.com
Mon Jul 25 19:53:25 PDT 2022


On 2022/7/25 21:50, Shameerali Kolothum Thodi wrote:
[...]
>>
>> If CONFIG_ACPI_IORT=y and CONFIG_IOMMU_API is not set,
>> make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-, will be failed, like
>> this:
>>
>> drivers/acpi/arm64/iort.c: In function ‘iort_get_rmr_sids’:
>> drivers/acpi/arm64/iort.c:1406:2: error: implicit declaration of function
>> ‘iort_iommu_rmr_get_resv_regions’; did you mean
>> ‘iort_iommu_get_resv_regions’? [-Werror=implicit-function-declaration]
>>    iort_iommu_rmr_get_resv_regions(iommu_fwnode, NULL, head);
>>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>    iort_iommu_get_resv_regions
>> cc1: some warnings being treated as errors
>> make[3]: *** [drivers/acpi/arm64/iort.o] Error 1
> 
> Thanks for spotting this.
> 
>> The function iort_iommu_rmr_get_resv_regions() is declared at #ifdef
>> CONFIG_IOMMU_API area, and the callers of  iort_get_rmr_sids() and
>> iort_put_rmr_sids() would select IOMMU_API.
>> To fix this error, move the definitions to #ifdef CONFIG_IOMMU_API area.
> 
> That makes sense. And the only callers of these are SMMU drivers I think we
> don't need stub functions under !CONFIG_IOMMU_API(Lorenzo, could you
> please double check this).

I think so, because SMMU drivers will select IOMMU_API,
in drivers/iommu/Kconfig, it says:

# IOMMU_API always gets selected by whoever wants it. 

config IOMMU_API 

bool

> 
> Nit: Please wrap the commit description to a max of 75 chars per line.

Zhijie, would you mind send a updated version?

Thanks
Hanjun



More information about the linux-arm-kernel mailing list