Messages in this thread | | | From | Ard Biesheuvel <> | Date | Mon, 29 May 2023 15:31:12 +0200 | Subject | Re: [PATCH] arm64: acpi: Export symbol for acpi_os_ioremap |
| |
On Fri, 26 May 2023 at 15:12, lihuisong (C) <lihuisong@huawei.com> wrote: > > > 在 2023/5/26 20:39, Ard Biesheuvel 写道: > > (cc Lorenzo) > > > > On Fri, 26 May 2023 at 14:20, Huisong Li <lihuisong@huawei.com> wrote: > >> The driver who calls the acpi_os_ioremap() cannot be compiled if the 'M' > >> is selected for the driver. The compiling log is as follows: > >> --> > >> MODPOST Module.symvers > >> ERROR: modpost: "acpi_os_ioremap" [drivers/soc/hisilicon/xxx.ko] undefined! > >> scripts/Makefile.modpost:136: recipe for target 'Module.symvers' failed > >> make[1]: *** [Module.symvers] Error 1 > >> > >> So this patch exports symbol for acpi_os_ioremap. > >> > > That driver does not exist in mainline. > > We have an uploading driver [1] that may use it. > > [1] > https://patchwork.kernel.org/project/linux-soc/patch/20230522072211.8894-2-lihuisong@huawei.com/ > > > > > Why does it need to use acpi_os_ioremap() instead of the ordinary > > memremap/ioremap routines? > This driver needs to ioremap the shared memory space of a PCC subspace. > And @Sudeep suggested that we use this interface. > It is suitable here.
I disagree. acpi_io_ioremap() is internal arch plumbing for the ACPI subsystem. I don't see why we should use it here.
On arm64, acpi_os_ioremap() cross references the EFI memory map to figure out whether a physical region is memory or device, but a driver should already know that.
> > > >> Signed-off-by: Huisong Li <lihuisong@huawei.com> > >> --- > >> arch/arm64/kernel/acpi.c | 1 + > >> 1 file changed, 1 insertion(+) > >> > >> diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c > >> index dba8fcec7f33..ec0414caf3d1 100644 > >> --- a/arch/arm64/kernel/acpi.c > >> +++ b/arch/arm64/kernel/acpi.c > >> @@ -354,6 +354,7 @@ void __iomem *acpi_os_ioremap(acpi_physical_address phys, acpi_size size) > >> } > >> return ioremap_prot(phys, size, pgprot_val(prot)); > >> } > >> +EXPORT_SYMBOL(acpi_os_ioremap); > >> > >> /* > >> * Claim Synchronous External Aborts as a firmware first notification. > >> -- > >> 2.33.0 > >> > >> > >> _______________________________________________ > >> linux-arm-kernel mailing list > >> linux-arm-kernel@lists.infradead.org > >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > > .
| |