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