ARM: socfpga: fix duplicate const specifier warning

Message ID 1505204619-22374-1-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit 5e8c39d4f4afac8ae026fee19c2ff381cd5b7cc4
Headers show
Series
  • ARM: socfpga: fix duplicate const specifier warning
Related show

Commit Message

Masahiro Yamada Sept. 12, 2017, 8:23 a.m.
GCC 7.1 warns:
duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

 arch/arm/mach-socfpga/misc_gen5.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Marek Vasut Sept. 12, 2017, 10:23 a.m. | #1
On 09/12/2017 10:23 AM, Masahiro Yamada wrote:
> GCC 7.1 warns:
> duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
> 
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
> 
>  arch/arm/mach-socfpga/misc_gen5.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/mach-socfpga/misc_gen5.c b/arch/arm/mach-socfpga/misc_gen5.c
> index 2f1da74..91ddb79 100644
> --- a/arch/arm/mach-socfpga/misc_gen5.c
> +++ b/arch/arm/mach-socfpga/misc_gen5.c
> @@ -144,7 +144,7 @@ static const struct {
                              ^ Shouldn't you fix it here instead ?

>  	const u16	pn;
>  	const char	*name;
>  	const char	*var;
> -} const socfpga_fpga_model[] = {
> +} socfpga_fpga_model[] = {
>  	/* Cyclone V E */
>  	{ 0x2b15, "Cyclone V, E/A2", "cv_e_a2" },
>  	{ 0x2b05, "Cyclone V, E/A4", "cv_e_a4" },
>
Masahiro Yamada Sept. 12, 2017, 1:19 p.m. | #2
Hi Marek,


2017-09-12 19:23 GMT+09:00 Marek Vasut <marex@denx.de>:
> On 09/12/2017 10:23 AM, Masahiro Yamada wrote:
>> GCC 7.1 warns:
>> duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>> ---
>>
>>  arch/arm/mach-socfpga/misc_gen5.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/mach-socfpga/misc_gen5.c b/arch/arm/mach-socfpga/misc_gen5.c
>> index 2f1da74..91ddb79 100644
>> --- a/arch/arm/mach-socfpga/misc_gen5.c
>> +++ b/arch/arm/mach-socfpga/misc_gen5.c
>> @@ -144,7 +144,7 @@ static const struct {
>                               ^ Shouldn't you fix it here instead ?
>
>>       const u16       pn;
>>       const char      *name;
>>       const char      *var;
>> -} const socfpga_fpga_model[] = {
>> +} socfpga_fpga_model[] = {
>>       /* Cyclone V E */
>>       { 0x2b15, "Cyclone V, E/A2", "cv_e_a2" },
>>       { 0x2b05, "Cyclone V, E/A4", "cv_e_a4" },
>>
>



"const" and the variable type is interchangeable,
so this comes down to a personal preference after all,
but think about simpler cases.


[1]
    const int x = 1;
    const struct pinctrl_ops *ops;


[2]
    int const x = 1;
    struct pinctrl_ops const *ops;



Both [1] and [2] are correct and equivalent,
but my preference is [1] (and I hope you too).


In my experience in Linux / U-Boot,
source code mostly looks like [1]
(of course, [2] is mixed here and there)


I prefer style [1] ("const" before variable type),
so I removed the second "const" in this patch.



Ideally, the following might be more readable:


struct fpga_model {
        const u16       pn;
        const char      *name;
        const char      *var;
};

static const struct fpga_model socfpga_fpga_model[] = {
     ...
};



But, I will not do

static struct fpga_model const socfpga_fpga_model[] = {
     ...
};
Marek Vasut Sept. 12, 2017, 2:10 p.m. | #3
On 09/12/2017 03:19 PM, Masahiro Yamada wrote:
> Hi Marek,
> 
> 
> 2017-09-12 19:23 GMT+09:00 Marek Vasut <marex@denx.de>:
>> On 09/12/2017 10:23 AM, Masahiro Yamada wrote:
>>> GCC 7.1 warns:
>>> duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
>>>
>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>>> ---
>>>
>>>  arch/arm/mach-socfpga/misc_gen5.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm/mach-socfpga/misc_gen5.c b/arch/arm/mach-socfpga/misc_gen5.c
>>> index 2f1da74..91ddb79 100644
>>> --- a/arch/arm/mach-socfpga/misc_gen5.c
>>> +++ b/arch/arm/mach-socfpga/misc_gen5.c
>>> @@ -144,7 +144,7 @@ static const struct {
>>                               ^ Shouldn't you fix it here instead ?
>>
>>>       const u16       pn;
>>>       const char      *name;
>>>       const char      *var;
>>> -} const socfpga_fpga_model[] = {
>>> +} socfpga_fpga_model[] = {
>>>       /* Cyclone V E */
>>>       { 0x2b15, "Cyclone V, E/A2", "cv_e_a2" },
>>>       { 0x2b05, "Cyclone V, E/A4", "cv_e_a4" },
>>>
>>
> 
> 
> 
> "const" and the variable type is interchangeable,
> so this comes down to a personal preference after all,
> but think about simpler cases.
> 
> 
> [1]
>     const int x = 1;
>     const struct pinctrl_ops *ops;
> 
> 
> [2]
>     int const x = 1;
>     struct pinctrl_ops const *ops;
> 
> 
> 
> Both [1] and [2] are correct and equivalent,
> but my preference is [1] (and I hope you too).
> 
> 
> In my experience in Linux / U-Boot,
> source code mostly looks like [1]
> (of course, [2] is mixed here and there)
> 
> 
> I prefer style [1] ("const" before variable type),
> so I removed the second "const" in this patch.
> 
> 
> 
> Ideally, the following might be more readable:
> 
> 
> struct fpga_model {
>         const u16       pn;
>         const char      *name;
>         const char      *var;
> };
> 
> static const struct fpga_model socfpga_fpga_model[] = {
>      ...
> };
> 
> 
> 
> But, I will not do
> 
> static struct fpga_model const socfpga_fpga_model[] = {
>      ...
> };

Doesn't the position of const in the example above indicate whether it's
a const applied to the whole array or const applied to it's elements ?
Masahiro Yamada Sept. 12, 2017, 4:52 p.m. | #4
2017-09-12 23:10 GMT+09:00 Marek Vasut <marex@denx.de>:
> On 09/12/2017 03:19 PM, Masahiro Yamada wrote:
>> Hi Marek,
>>
>>
>> 2017-09-12 19:23 GMT+09:00 Marek Vasut <marex@denx.de>:
>>> On 09/12/2017 10:23 AM, Masahiro Yamada wrote:
>>>> GCC 7.1 warns:
>>>> duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
>>>>
>>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>>>> ---
>>>>
>>>>  arch/arm/mach-socfpga/misc_gen5.c | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm/mach-socfpga/misc_gen5.c b/arch/arm/mach-socfpga/misc_gen5.c
>>>> index 2f1da74..91ddb79 100644
>>>> --- a/arch/arm/mach-socfpga/misc_gen5.c
>>>> +++ b/arch/arm/mach-socfpga/misc_gen5.c
>>>> @@ -144,7 +144,7 @@ static const struct {
>>>                               ^ Shouldn't you fix it here instead ?
>>>
>>>>       const u16       pn;
>>>>       const char      *name;
>>>>       const char      *var;
>>>> -} const socfpga_fpga_model[] = {
>>>> +} socfpga_fpga_model[] = {
>>>>       /* Cyclone V E */
>>>>       { 0x2b15, "Cyclone V, E/A2", "cv_e_a2" },
>>>>       { 0x2b05, "Cyclone V, E/A4", "cv_e_a4" },
>>>>
>>>
>>
>>
>>
>> "const" and the variable type is interchangeable,
>> so this comes down to a personal preference after all,
>> but think about simpler cases.
>>
>>
>> [1]
>>     const int x = 1;
>>     const struct pinctrl_ops *ops;
>>
>>
>> [2]
>>     int const x = 1;
>>     struct pinctrl_ops const *ops;
>>
>>
>>
>> Both [1] and [2] are correct and equivalent,
>> but my preference is [1] (and I hope you too).
>>
>>
>> In my experience in Linux / U-Boot,
>> source code mostly looks like [1]
>> (of course, [2] is mixed here and there)
>>
>>
>> I prefer style [1] ("const" before variable type),
>> so I removed the second "const" in this patch.
>>
>>
>>
>> Ideally, the following might be more readable:
>>
>>
>> struct fpga_model {
>>         const u16       pn;
>>         const char      *name;
>>         const char      *var;
>> };
>>
>> static const struct fpga_model socfpga_fpga_model[] = {
>>      ...
>> };
>>
>>
>>
>> But, I will not do
>>
>> static struct fpga_model const socfpga_fpga_model[] = {
>>      ...
>> };
>
> Doesn't the position of const in the example above indicate whether it's
> a const applied to the whole array or const applied to it's elements ?
>

Sorry, I could not get what you mean.
Could you explain it in detail, please?
Marek Vasut Sept. 12, 2017, 5:50 p.m. | #5
On 09/12/2017 10:23 AM, Masahiro Yamada wrote:
> GCC 7.1 warns:
> duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
> 
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
> 
>  arch/arm/mach-socfpga/misc_gen5.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/mach-socfpga/misc_gen5.c b/arch/arm/mach-socfpga/misc_gen5.c
> index 2f1da74..91ddb79 100644
> --- a/arch/arm/mach-socfpga/misc_gen5.c
> +++ b/arch/arm/mach-socfpga/misc_gen5.c
> @@ -144,7 +144,7 @@ static const struct {
>  	const u16	pn;
>  	const char	*name;
>  	const char	*var;
> -} const socfpga_fpga_model[] = {
> +} socfpga_fpga_model[] = {
>  	/* Cyclone V E */
>  	{ 0x2b15, "Cyclone V, E/A2", "cv_e_a2" },
>  	{ 0x2b05, "Cyclone V, E/A4", "cv_e_a4" },
> 
Applied, thanks!

Patch

diff --git a/arch/arm/mach-socfpga/misc_gen5.c b/arch/arm/mach-socfpga/misc_gen5.c
index 2f1da74..91ddb79 100644
--- a/arch/arm/mach-socfpga/misc_gen5.c
+++ b/arch/arm/mach-socfpga/misc_gen5.c
@@ -144,7 +144,7 @@  static const struct {
 	const u16	pn;
 	const char	*name;
 	const char	*var;
-} const socfpga_fpga_model[] = {
+} socfpga_fpga_model[] = {
 	/* Cyclone V E */
 	{ 0x2b15, "Cyclone V, E/A2", "cv_e_a2" },
 	{ 0x2b05, "Cyclone V, E/A4", "cv_e_a4" },