diff mbox series

[1/2] powerpc:mm: export symbol ioremap_coherent

Message ID SG2PR01MB2951EBFD4C4EB2A2519FF4199FA79@SG2PR01MB2951.apcprd01.prod.exchangelabs.com (mailing list archive)
State Superseded
Headers show
Series uio:ppc: cache-sram driver implementation | expand

Commit Message

Wang Wenhu June 9, 2022, 10:28 a.m. UTC
The function ioremap_coherent may be called by modules such as
fsl_85xx_cache_sram. So export it for access in other modules.

Signed-off-by: Wang Wenhu <wenhu.wang@hotmail.com>
---
 arch/powerpc/mm/ioremap.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Michael Ellerman June 14, 2022, 10:45 a.m. UTC | #1
Wang Wenhu <wenhu.wang@hotmail.com> writes:
> The function ioremap_coherent may be called by modules such as
> fsl_85xx_cache_sram. So export it for access in other modules.

ioremap_coherent() is powerpc specific, and only has one other caller,
I'd like to remove it.

Does ioremap_cache() work for you?

cheers

> diff --git a/arch/powerpc/mm/ioremap.c b/arch/powerpc/mm/ioremap.c
> index 4f12504fb405..08a00dacef0b 100644
> --- a/arch/powerpc/mm/ioremap.c
> +++ b/arch/powerpc/mm/ioremap.c
> @@ -40,6 +40,7 @@ void __iomem *ioremap_coherent(phys_addr_t addr, unsigned long size)
>  		return iowa_ioremap(addr, size, prot, caller);
>  	return __ioremap_caller(addr, size, prot, caller);
>  }
> +EXPORT_SYMBOL(ioremap_coherent);
>  
>  void __iomem *ioremap_prot(phys_addr_t addr, unsigned long size, unsigned long flags)
>  {
> -- 
> 2.25.1
Christoph Hellwig June 14, 2022, 2:49 p.m. UTC | #2
On Tue, Jun 14, 2022 at 08:45:25PM +1000, Michael Ellerman wrote:
> Wang Wenhu <wenhu.wang@hotmail.com> writes:
> > The function ioremap_coherent may be called by modules such as
> > fsl_85xx_cache_sram. So export it for access in other modules.
> 
> ioremap_coherent() is powerpc specific, and only has one other caller,
> I'd like to remove it.
> 
> Does ioremap_cache() work for you?

Chances are that both are the wrong thing and this really wants
memremap, as SRAM tends to have memory and not MMIO semantics.
Wang Wenhu June 15, 2022, 4:37 a.m. UTC | #3
>发件人: Michael Ellerman <mpe@ellerman.id.au>
>发送时间: 2022年6月14日 18:45
>收件人: Wang Wenhu <wenhu.wang@hotmail.com>; gregkh@linuxfoundation.org <gregkh@linuxfoundation.org>; christophe.leroy@csgroup.eu <christophe.leroy@csgroup.eu>
>抄送: linuxppc-dev@lists.ozlabs.org <linuxppc-dev@lists.ozlabs.org>; linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; Wang Wenhu <wenhu.wang@hotmail.com>
>主题: Re: [PATCH 1/2] powerpc:mm: export symbol ioremap_coherent 

>Wang Wenhu <wenhu.wang@hotmail.com> writes:
>> The function ioremap_coherent may be called by modules such as
>> fsl_85xx_cache_sram. So export it for access in other modules.
>
>ioremap_coherent() is powerpc specific, and only has one other caller,
>I'd like to remove it.
>
>Does ioremap_cache() work for you?
>

Yes, it works. I will update in v2 to use ioremap_cache.
I tested and compared the outcomes of ioremap_cache and ioremap_coherent,
and found they ended same values.

Thanks,
Wenhu

>
>> diff --git a/arch/powerpc/mm/ioremap.c b/arch/powerpc/mm/ioremap.c
>> index 4f12504fb405..08a00dacef0b 100644
>> --- a/arch/powerpc/mm/ioremap.c
>> +++ b/arch/powerpc/mm/ioremap.c
>> @@ -40,6 +40,7 @@ void __iomem *ioremap_coherent(phys_addr_t addr, unsigned long size)
>>                return iowa_ioremap(addr, size, prot, caller);
>>        return __ioremap_caller(addr, size, prot, caller);
>>  }
>> +EXPORT_SYMBOL(ioremap_coherent);
>>  
>>  void __iomem *ioremap_prot(phys_addr_t addr, unsigned long size, unsigned long flags)
>  {
> -- 
> 2.25.1
diff mbox series

Patch

diff --git a/arch/powerpc/mm/ioremap.c b/arch/powerpc/mm/ioremap.c
index 4f12504fb405..08a00dacef0b 100644
--- a/arch/powerpc/mm/ioremap.c
+++ b/arch/powerpc/mm/ioremap.c
@@ -40,6 +40,7 @@  void __iomem *ioremap_coherent(phys_addr_t addr, unsigned long size)
 		return iowa_ioremap(addr, size, prot, caller);
 	return __ioremap_caller(addr, size, prot, caller);
 }
+EXPORT_SYMBOL(ioremap_coherent);
 
 void __iomem *ioremap_prot(phys_addr_t addr, unsigned long size, unsigned long flags)
 {