2020-01-21 05:34:09

by wangwenhu

[permalink] [raw]
Subject: [PATCH] powerpc/sysdev: fix compile errors

From: wangwenhu <[email protected]>

Include arch/powerpc/include/asm/io.h into fsl_85xx_cache_sram.c to
fix the implicit declaration compile errors when building Cache-Sram.

arch/powerpc/sysdev/fsl_85xx_cache_sram.c: In function ‘instantiate_cache_sram’:
arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:26: error: implicit declaration of function ‘ioremap_coherent’; did you mean ‘bitmap_complement’? [-Werror=implicit-function-declaration]
cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
^~~~~~~~~~~~~~~~
bitmap_complement
arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:24: error: assignment makes pointer from integer without a cast [-Werror=int-conversion]
cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
^
arch/powerpc/sysdev/fsl_85xx_cache_sram.c:123:2: error: implicit declaration of function ‘iounmap’; did you mean ‘roundup’? [-Werror=implicit-function-declaration]
iounmap(cache_sram->base_virt);
^~~~~~~
roundup
cc1: all warnings being treated as errors

Signed-off-by: wangwenhu <[email protected]>
---
arch/powerpc/sysdev/fsl_85xx_cache_sram.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
index f6c665dac725..29b6868eff7d 100644
--- a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
+++ b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
@@ -17,6 +17,7 @@
#include <linux/of_platform.h>
#include <asm/pgtable.h>
#include <asm/fsl_85xx_cache_sram.h>
+#include <asm/io.h>

#include "fsl_85xx_cache_ctlr.h"

--
2.17.1


2020-01-21 06:00:09

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH] powerpc/sysdev: fix compile errors



Le 21/01/2020 à 06:31, wangwenhu a écrit :
> From: wangwenhu <[email protected]>
>
> Include arch/powerpc/include/asm/io.h into fsl_85xx_cache_sram.c to
> fix the implicit declaration compile errors when building Cache-Sram.

It is usually better to include <linux/io.h> instead of <asm/io.h>

Christophe

2020-01-21 06:15:42

by Andrew Donnellan

[permalink] [raw]
Subject: Re: [PATCH] powerpc/sysdev: fix compile errors

On 21/1/20 4:31 pm, wangwenhu wrote:
> From: wangwenhu <[email protected]>
>
> Include arch/powerpc/include/asm/io.h into fsl_85xx_cache_sram.c to
> fix the implicit declaration compile errors when building Cache-Sram.
>
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c: In function ‘instantiate_cache_sram’:
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:26: error: implicit declaration of function ‘ioremap_coherent’; did you mean ‘bitmap_complement’? [-Werror=implicit-function-declaration]
> cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
> ^~~~~~~~~~~~~~~~
> bitmap_complement
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:24: error: assignment makes pointer from integer without a cast [-Werror=int-conversion]
> cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
> ^
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:123:2: error: implicit declaration of function ‘iounmap’; did you mean ‘roundup’? [-Werror=implicit-function-declaration]
> iounmap(cache_sram->base_virt);
> ^~~~~~~
> roundup
> cc1: all warnings being treated as errors
>
> Signed-off-by: wangwenhu <[email protected]>

How long has this code been broken for?

> ---
> arch/powerpc/sysdev/fsl_85xx_cache_sram.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
> index f6c665dac725..29b6868eff7d 100644
> --- a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
> +++ b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
> @@ -17,6 +17,7 @@
> #include <linux/of_platform.h>
> #include <asm/pgtable.h>
> #include <asm/fsl_85xx_cache_sram.h>
> +#include <asm/io.h>
>
> #include "fsl_85xx_cache_ctlr.h"
>

--
Andrew Donnellan OzLabs, ADL Canberra
[email protected] IBM Australia Limited

2020-01-21 07:02:00

by 王文虎

[permalink] [raw]
Subject: Re:Re: [PATCH] powerpc/sysdev: fix compile errors

发件人:Andrew Donnellan <[email protected]>
发送日期:2020-01-21 14:13:07
收件人:wangwenhu <[email protected]>,Benjamin Herrenschmidt <[email protected]>,Paul Mackerras <[email protected]>,Michael Ellerman <[email protected]>,Kate Stewart <[email protected]>,Greg Kroah-Hartman <[email protected]>,Richard Fontana <[email protected]>,Thomas Gleixner <[email protected]>,[email protected],[email protected]
抄送人:[email protected],[email protected],[email protected]
主题:Re: [PATCH] powerpc/sysdev: fix compile errors>On 21/1/20 4:31 pm, wangwenhu wrote:
>> From: wangwenhu <[email protected]>
>>
>> Include arch/powerpc/include/asm/io.h into fsl_85xx_cache_sram.c to
>> fix the implicit declaration compile errors when building Cache-Sram.
>>
>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c: In function ‘instantiate_cache_sram’:
>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:26: error: implicit declaration of function ‘ioremap_coherent’; did you mean ‘bitmap_complement’? [-Werror=implicit-function-declaration]
>> cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
>> ^~~~~~~~~~~~~~~~
>> bitmap_complement
>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:24: error: assignment makes pointer from integer without a cast [-Werror=int-conversion]
>> cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
>> ^
>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:123:2: error: implicit declaration of function ‘iounmap’; did you mean ‘roundup’? [-Werror=implicit-function-declaration]
>> iounmap(cache_sram->base_virt);
>> ^~~~~~~
>> roundup
>> cc1: all warnings being treated as errors
>>
>> Signed-off-by: wangwenhu <[email protected]>
>
>How long has this code been broken for?

It's been broken almost 15 months since the commit below:
"commit aa91796ec46339f2ed53da311bd3ea77a3e4dfe1
Author: Christophe Leroy <[email protected]>
Date: Tue Oct 9 13:51:41 2018 +0000

powerpc: don't use ioremap_prot() nor __ioremap() unless really needed."

And we are working on it now for further development.

>
>> ---
>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>> index f6c665dac725..29b6868eff7d 100644
>> --- a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>> +++ b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>> @@ -17,6 +17,7 @@
>> #include <linux/of_platform.h>
>> #include <asm/pgtable.h>
>> #include <asm/fsl_85xx_cache_sram.h>
>> +#include <asm/io.h>
>>
>> #include "fsl_85xx_cache_ctlr.h"
>>
>
>--
>Andrew Donnellan OzLabs, ADL Canberra
>[email protected] IBM Australia Limited
>

Wenhu

2020-01-21 08:22:29

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH] powerpc/sysdev: fix compile errors



Le 21/01/2020 à 07:59, 王文虎 a écrit :
> 发件人:Andrew Donnellan <[email protected]>
> 发送日期:2020-01-21 14:13:07
> 收件人:wangwenhu <[email protected]>,Benjamin Herrenschmidt <[email protected]>,Paul Mackerras <[email protected]>,Michael Ellerman <[email protected]>,Kate Stewart <[email protected]>,Greg Kroah-Hartman <[email protected]>,Richard Fontana <[email protected]>,Thomas Gleixner <[email protected]>,[email protected],[email protected]
> 抄送人:[email protected],[email protected],[email protected]
> 主题:Re: [PATCH] powerpc/sysdev: fix compile errors>On 21/1/20 4:31 pm, wangwenhu wrote:
>>> From: wangwenhu <[email protected]>
>>>
>>> Include arch/powerpc/include/asm/io.h into fsl_85xx_cache_sram.c to
>>> fix the implicit declaration compile errors when building Cache-Sram.
>>>
>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c: In function ‘instantiate_cache_sram’:
>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:26: error: implicit declaration of function ‘ioremap_coherent’; did you mean ‘bitmap_complement’? [-Werror=implicit-function-declaration]
>>> cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
>>> ^~~~~~~~~~~~~~~~
>>> bitmap_complement
>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:24: error: assignment makes pointer from integer without a cast [-Werror=int-conversion]
>>> cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
>>> ^
>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:123:2: error: implicit declaration of function ‘iounmap’; did you mean ‘roundup’? [-Werror=implicit-function-declaration]
>>> iounmap(cache_sram->base_virt);
>>> ^~~~~~~
>>> roundup
>>> cc1: all warnings being treated as errors
>>>
>>> Signed-off-by: wangwenhu <[email protected]>
>>
>> How long has this code been broken for?
>
> It's been broken almost 15 months since the commit below:
> "commit aa91796ec46339f2ed53da311bd3ea77a3e4dfe1

Can you then add a Fixes: tag ?

Thanks
Christophe

> Author: Christophe Leroy <[email protected]>
> Date: Tue Oct 9 13:51:41 2018 +0000
>
> powerpc: don't use ioremap_prot() nor __ioremap() unless really needed."
>
> And we are working on it now for further development.
>
>>
>>> ---
>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>>> index f6c665dac725..29b6868eff7d 100644
>>> --- a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>>> +++ b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>>> @@ -17,6 +17,7 @@
>>> #include <linux/of_platform.h>
>>> #include <asm/pgtable.h>
>>> #include <asm/fsl_85xx_cache_sram.h>
>>> +#include <asm/io.h>
>>>
>>> #include "fsl_85xx_cache_ctlr.h"
>>>
>>
>> --
>> Andrew Donnellan OzLabs, ADL Canberra
>> [email protected] IBM Australia Limited
>>
>
> Wenhu
>

2020-01-21 08:38:17

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH] powerpc/sysdev: fix compile errors



Le 21/01/2020 à 07:59, 王文虎 a écrit :
> 发件人:Andrew Donnellan <[email protected]>
> 发送日期:2020-01-21 14:13:07
> 收件人:wangwenhu <[email protected]>,Benjamin Herrenschmidt <[email protected]>,Paul Mackerras <[email protected]>,Michael Ellerman <[email protected]>,Kate Stewart <[email protected]>,Greg Kroah-Hartman <[email protected]>,Richard Fontana <[email protected]>,Thomas Gleixner <[email protected]>,[email protected],[email protected]
> 抄送人:[email protected],[email protected],[email protected]
> 主题:Re: [PATCH] powerpc/sysdev: fix compile errors>On 21/1/20 4:31 pm, wangwenhu wrote:
>>> From: wangwenhu <[email protected]>
>>>
>>> Include arch/powerpc/include/asm/io.h into fsl_85xx_cache_sram.c to
>>> fix the implicit declaration compile errors when building Cache-Sram.
>>>
>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c: In function ‘instantiate_cache_sram’:
>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:26: error: implicit declaration of function ‘ioremap_coherent’; did you mean ‘bitmap_complement’? [-Werror=implicit-function-declaration]
>>> cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
>>> ^~~~~~~~~~~~~~~~
>>> bitmap_complement
>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:24: error: assignment makes pointer from integer without a cast [-Werror=int-conversion]
>>> cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
>>> ^
>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:123:2: error: implicit declaration of function ‘iounmap’; did you mean ‘roundup’? [-Werror=implicit-function-declaration]
>>> iounmap(cache_sram->base_virt);
>>> ^~~~~~~
>>> roundup
>>> cc1: all warnings being treated as errors
>>>
>>> Signed-off-by: wangwenhu <[email protected]>
>>
>> How long has this code been broken for?
>
> It's been broken almost 15 months since the commit below:
> "commit aa91796ec46339f2ed53da311bd3ea77a3e4dfe1
> Author: Christophe Leroy <[email protected]>
> Date: Tue Oct 9 13:51:41 2018 +0000
>
> powerpc: don't use ioremap_prot() nor __ioremap() unless really needed."
>
> And we are working on it now for further development.

That's pretty surprising. That commit didn't change the iounmap(). It
only replaced ioremap_prot() by ioremap_coherent(). Both are defined in io.h

Christophe

>
>>
>>> ---
>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>>> index f6c665dac725..29b6868eff7d 100644
>>> --- a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>>> +++ b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>>> @@ -17,6 +17,7 @@
>>> #include <linux/of_platform.h>
>>> #include <asm/pgtable.h>
>>> #include <asm/fsl_85xx_cache_sram.h>
>>> +#include <asm/io.h>
>>>
>>> #include "fsl_85xx_cache_ctlr.h"
>>>
>>
>> --
>> Andrew Donnellan OzLabs, ADL Canberra
>> [email protected] IBM Australia Limited
>>
>
> Wenhu
>

2020-02-18 10:34:18

by 王文虎

[permalink] [raw]
Subject: Re:Re: [PATCH] powerpc/sysdev: fix compile errors


From: Christophe Leroy <[email protected]>
Date: 2020-01-21 16:37:07
To:"王文虎" <[email protected]>,Andrew Donnellan <[email protected]>
cc: Kate Stewart <[email protected]>,Richard Fontana <[email protected]>,Greg Kroah-Hartman <[email protected]>,[email protected],wangwenhu <[email protected]>,Paul Mackerras <[email protected]>,[email protected],Thomas Gleixner <[email protected]>,[email protected],[email protected]
Subject: Re: [PATCH] powerpc/sysdev: fix compile errors>
>
>Le 21/01/2020 à 07:59, 王文虎 a écrit :
>> 发件人:Andrew Donnellan <[email protected]>
>> 发送日期:2020-01-21 14:13:07
>> 收件人:wangwenhu <[email protected]>,Benjamin Herrenschmidt <[email protected]>,Paul Mackerras <[email protected]>,Michael Ellerman <[email protected]>,Kate Stewart <[email protected]>,Greg Kroah-Hartman <[email protected]>,Richard Fontana <[email protected]>,Thomas Gleixner <[email protected]>,[email protected],[email protected]
>> 抄送人:[email protected],[email protected],[email protected]
>> 主题:Re: [PATCH] powerpc/sysdev: fix compile errors>On 21/1/20 4:31 pm, wangwenhu wrote:
>>>> From: wangwenhu <[email protected]>
>>>>
>>>> Include arch/powerpc/include/asm/io.h into fsl_85xx_cache_sram.c to
>>>> fix the implicit declaration compile errors when building Cache-Sram.
>>>>
>>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c: In function ‘instantiate_cache_sram’:
>>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:26: error: implicit declaration of function ‘ioremap_coherent’; did you mean ‘bitmap_complement’? [-Werror=implicit-function-declaration]
>>>> cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
>>>> ^~~~~~~~~~~~~~~~
>>>> bitmap_complement
>>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:97:24: error: assignment makes pointer from integer without a cast [-Werror=int-conversion]
>>>> cache_sram->base_virt = ioremap_coherent(cache_sram->base_phys,
>>>> ^
>>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c:123:2: error: implicit declaration of function ‘iounmap’; did you mean ‘roundup’? [-Werror=implicit-function-declaration]
>>>> iounmap(cache_sram->base_virt);
>>>> ^~~~~~~
>>>> roundup
>>>> cc1: all warnings being treated as errors
>>>>
>>>> Signed-off-by: wangwenhu <[email protected]>
>>>
>>> How long has this code been broken for?
>>
>> It's been broken almost 15 months since the commit below:
>> "commit aa91796ec46339f2ed53da311bd3ea77a3e4dfe1
>> Author: Christophe Leroy <[email protected]>
>> Date: Tue Oct 9 13:51:41 2018 +0000
>>
>> powerpc: don't use ioremap_prot() nor __ioremap() unless really needed."
>>
>> And we are working on it now for further development.
>
>That's pretty surprising. That commit didn't change the iounmap(). It
>only replaced ioremap_prot() by ioremap_coherent(). Both are defined in io.h
>
>Christophe
>

The compile error exists since the uploading of the driver
Details below:
1. "ioremap_flags" defined in "asm/io.h" was used primarily(Wed Oct 13 17:30:56 2010):
(6db92cc9d07d: powerpc/85xx: add cache-sram support);
2. "ioremap_prot" was used to replace "ioremap_flags"
(40f1ce7fb7e8: powerpc: Remove ioremap_flags);
3. "ioremap_coherent" was used to replace "ioremap_prot":
(aa91796ec463: powerpc: don't use ioremap_prot() nor __ioremap() unless really needed.)

So I will do the re-patch with a "Fixed" tag and "<linux/io.h>" include modification.
Which commit should be referenced to append to "Fixed" tag? (No.1 or No.3 ?)

Wenhu

>>
>>>
>>>> ---
>>>> arch/powerpc/sysdev/fsl_85xx_cache_sram.c | 1 +
>>>> 1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>>>> index f6c665dac725..29b6868eff7d 100644
>>>> --- a/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>>>> +++ b/arch/powerpc/sysdev/fsl_85xx_cache_sram.c
>>>> @@ -17,6 +17,7 @@
>>>> #include <linux/of_platform.h>
>>>> #include <asm/pgtable.h>
>>>> #include <asm/fsl_85xx_cache_sram.h>
>>>> +#include <asm/io.h>
>>>>
>>>> #include "fsl_85xx_cache_ctlr.h"
>>>>
>>>
>>> --
>>> Andrew Donnellan OzLabs, ADL Canberra
>>> [email protected] IBM Australia Limited
>>>
>>
>> Wenhu
>>