[U-Boot] [PATCH] ARM: socfpga: fix duplicate const specifier warning

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" },

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" },

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[] = { ... };

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 ?

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?

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!
participants (2)
-
Marek Vasut
-
Masahiro Yamada