[PATCH] arm64: acpi: Export symbol for acpi_os_ioremap

Huisong Li posted 1 patch 2 days, 7 hours ago
arch/arm64/kernel/acpi.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] arm64: acpi: Export symbol for acpi_os_ioremap
Posted by Huisong Li 2 days, 7 hours ago
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.

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
Re: [PATCH] arm64: acpi: Export symbol for acpi_os_ioremap
Posted by Ard Biesheuvel 2 days, 7 hours ago
(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.

Why does it need to use acpi_os_ioremap() instead of the ordinary
memremap/ioremap routines?


> 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
Re: [PATCH] arm64: acpi: Export symbol for acpi_os_ioremap
Posted by lihuisong (C) 2 days, 6 hours ago
在 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.
>
>> 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
> .