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

From: Ren Zhijie
Date: Mon Jul 25 2022 - 23:23:13 EST



在 2022/7/26 10:53, Hanjun Guo 写道:
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?

sure, will send patch v2.

Thanks,

Ren Zhijie

Thanks
Hanjun
.