linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] clk: uniphier: Fix build with gcc-4.4.
@ 2016-12-03  0:37 Vinson Lee
  2016-12-03  1:24 ` Masahiro Yamada
  0 siblings, 1 reply; 5+ messages in thread
From: Vinson Lee @ 2016-12-03  0:37 UTC (permalink / raw)
  To: linux-clk
  Cc: Masahiro Yamada, Michael Turquette, Stephen Boyd, linux-kernel,
	linux-arm-kernel

gcc-4.4 has issues with anonymous unions in initializers.

  CC      drivers/clk/uniphier/clk-uniphier-sys.o
drivers/clk/uniphier/clk-uniphier-sys.c:45: error: unknown field ‘factor’ specified in initializer

Fixes: 1574d5722636 ("clk: uniphier: remove unneeded member name for union")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
---
 drivers/clk/uniphier/clk-uniphier-mio.c |  4 ++--
 drivers/clk/uniphier/clk-uniphier.h     | 12 ++++++------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/clk/uniphier/clk-uniphier-mio.c b/drivers/clk/uniphier/clk-uniphier-mio.c
index 4974d38..7441eeb 100644
--- a/drivers/clk/uniphier/clk-uniphier-mio.c
+++ b/drivers/clk/uniphier/clk-uniphier-mio.c
@@ -30,7 +30,7 @@
 		.name = "sd" #ch "-sel",				\
 		.type = UNIPHIER_CLK_TYPE_MUX,				\
 		.idx = -1,						\
-		.mux = {						\
+		{ .mux = {						\
 			.parent_names = {				\
 				"sd-44m",				\
 				"sd-33m",				\
@@ -63,7 +63,7 @@
 				0x00001200,				\
 				0x00001300,				\
 			},						\
-		},							\
+		} },							\
 	},								\
 	UNIPHIER_CLK_GATE("sd" #ch, (_idx), "sd" #ch "-sel", 0x20 + 0x200 * (ch), 8)
 
diff --git a/drivers/clk/uniphier/clk-uniphier.h b/drivers/clk/uniphier/clk-uniphier.h
index 81d7e5c..8735a7d 100644
--- a/drivers/clk/uniphier/clk-uniphier.h
+++ b/drivers/clk/uniphier/clk-uniphier.h
@@ -81,12 +81,12 @@ struct uniphier_clk_data {
 		.name = (_name),				\
 		.type = UNIPHIER_CLK_TYPE_CPUGEAR,		\
 		.idx = (_idx),					\
-		.cpugear = {					\
+		{ .cpugear = {					\
 			.parent_names = { __VA_ARGS__ },	\
 			.num_parents = (_num_parents),		\
 			.regbase = (_regbase),			\
 			.mask = (_mask)				\
-		 },						\
+		 } },						\
 	}
 
 #define UNIPHIER_CLK_FACTOR(_name, _idx, _parent, _mult, _div)	\
@@ -94,11 +94,11 @@ struct uniphier_clk_data {
 		.name = (_name),				\
 		.type = UNIPHIER_CLK_TYPE_FIXED_FACTOR,		\
 		.idx = (_idx),					\
-		.factor = {					\
+		{ .factor = {					\
 			.parent_name = (_parent),		\
 			.mult = (_mult),			\
 			.div = (_div),				\
-		},						\
+		} },						\
 	}
 
 #define UNIPHIER_CLK_GATE(_name, _idx, _parent, _reg, _bit)	\
@@ -106,11 +106,11 @@ struct uniphier_clk_data {
 		.name = (_name),				\
 		.type = UNIPHIER_CLK_TYPE_GATE,			\
 		.idx = (_idx),					\
-		.gate = {					\
+		{ .gate = {					\
 			.parent_name = (_parent),		\
 			.reg = (_reg),				\
 			.bit = (_bit),				\
-		},						\
+		} },						\
 	}
 
 #define UNIPHIER_CLK_DIV(parent, div)				\
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] clk: uniphier: Fix build with gcc-4.4.
  2016-12-03  0:37 [PATCH] clk: uniphier: Fix build with gcc-4.4 Vinson Lee
@ 2016-12-03  1:24 ` Masahiro Yamada
  2016-12-06 23:16   ` Stephen Boyd
  0 siblings, 1 reply; 5+ messages in thread
From: Masahiro Yamada @ 2016-12-03  1:24 UTC (permalink / raw)
  To: Vinson Lee
  Cc: linux-clk, Michael Turquette, Stephen Boyd,
	Linux Kernel Mailing List, linux-arm-kernel

Hi Vinson,

2016-12-03 9:37 GMT+09:00 Vinson Lee <vlee@freedesktop.org>:
> gcc-4.4 has issues with anonymous unions in initializers.
>
>   CC      drivers/clk/uniphier/clk-uniphier-sys.o
> drivers/clk/uniphier/clk-uniphier-sys.c:45: error: unknown field ‘factor’ specified in initializer
>
> Fixes: 1574d5722636 ("clk: uniphier: remove unneeded member name for union")
> Signed-off-by: Vinson Lee <vlee@freedesktop.org>


This driver has COMPILE_TEST option, but kbuild test robot
did not mention about this.



This is a bad way of fixing, I think.
(what if a new member is inserted before the union in the future?)

Rather, please revert the bad commit.


>                 .name = "sd" #ch "-sel",                                \
>                 .type = UNIPHIER_CLK_TYPE_MUX,                          \
>                 .idx = -1,                                              \
> -               .mux = {                                                \
> +               { .mux = {                                              \
>                         .parent_names = {                               \
>                                 "sd-44m",                               \
>                                 "sd-33m",                               \
> @@ -63,7 +63,7 @@
>                                 0x00001200,                             \
>                                 0x00001300,                             \
>                         },                                              \
> -               },                                                      \
> +               } },                                                    \
>         },                                                              \


No, please do not do this.






-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] clk: uniphier: Fix build with gcc-4.4.
  2016-12-03  1:24 ` Masahiro Yamada
@ 2016-12-06 23:16   ` Stephen Boyd
  2016-12-07  1:34     ` Masahiro Yamada
  2016-12-07 22:48     ` Arnd Bergmann
  0 siblings, 2 replies; 5+ messages in thread
From: Stephen Boyd @ 2016-12-06 23:16 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Vinson Lee, linux-clk, Michael Turquette,
	Linux Kernel Mailing List, linux-arm-kernel, Andrew Morton

On 12/03, Masahiro Yamada wrote:
> Hi Vinson,
> 
> 2016-12-03 9:37 GMT+09:00 Vinson Lee <vlee@freedesktop.org>:
> > gcc-4.4 has issues with anonymous unions in initializers.
> >
> >   CC      drivers/clk/uniphier/clk-uniphier-sys.o
> > drivers/clk/uniphier/clk-uniphier-sys.c:45: error: unknown field ‘factor’ specified in initializer
> >
> > Fixes: 1574d5722636 ("clk: uniphier: remove unneeded member name for union")
> > Signed-off-by: Vinson Lee <vlee@freedesktop.org>
> 
> 
> This driver has COMPILE_TEST option, but kbuild test robot
> did not mention about this.
> 
> 
> 
> This is a bad way of fixing, I think.
> (what if a new member is inserted before the union in the future?)
> 
> Rather, please revert the bad commit.
> 

Reverting on top of clk-next will cause build failures though.
Can you resend the patch series without this first patch please?
I'll apply them then.

I'll go drop all three patches and wreck Andrew's merge of this
patch to -mm.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] clk: uniphier: Fix build with gcc-4.4.
  2016-12-06 23:16   ` Stephen Boyd
@ 2016-12-07  1:34     ` Masahiro Yamada
  2016-12-07 22:48     ` Arnd Bergmann
  1 sibling, 0 replies; 5+ messages in thread
From: Masahiro Yamada @ 2016-12-07  1:34 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: Michael Turquette, Linux Kernel Mailing List, Vinson Lee,
	Andrew Morton, linux-clk, linux-arm-kernel

Hi Stephen,


2016-12-07 8:16 GMT+09:00 Stephen Boyd <sboyd@codeaurora.org>:
> On 12/03, Masahiro Yamada wrote:
>> Hi Vinson,
>>
>> 2016-12-03 9:37 GMT+09:00 Vinson Lee <vlee@freedesktop.org>:
>> > gcc-4.4 has issues with anonymous unions in initializers.
>> >
>> >   CC      drivers/clk/uniphier/clk-uniphier-sys.o
>> > drivers/clk/uniphier/clk-uniphier-sys.c:45: error: unknown field ‘factor’ specified in initializer
>> >
>> > Fixes: 1574d5722636 ("clk: uniphier: remove unneeded member name for union")
>> > Signed-off-by: Vinson Lee <vlee@freedesktop.org>
>>
>>
>> This driver has COMPILE_TEST option, but kbuild test robot
>> did not mention about this.
>>
>>
>>
>> This is a bad way of fixing, I think.
>> (what if a new member is inserted before the union in the future?)
>>
>> Rather, please revert the bad commit.
>>
>
> Reverting on top of clk-next will cause build failures though.
> Can you resend the patch series without this first patch please?
> I'll apply them then.
>
> I'll go drop all three patches and wreck Andrew's merge of this
> patch to -mm.


I dropped the first one
and v3 (for the last two) is on the ML now.

Thanks a lot for taking care of this!



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] clk: uniphier: Fix build with gcc-4.4.
  2016-12-06 23:16   ` Stephen Boyd
  2016-12-07  1:34     ` Masahiro Yamada
@ 2016-12-07 22:48     ` Arnd Bergmann
  1 sibling, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2016-12-07 22:48 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Stephen Boyd, Masahiro Yamada, Michael Turquette,
	Linux Kernel Mailing List, Vinson Lee, Andrew Morton, linux-clk

On Tuesday, December 6, 2016 3:16:42 PM CET Stephen Boyd wrote:
> On 12/03, Masahiro Yamada wrote:
> > 2016-12-03 9:37 GMT+09:00 Vinson Lee <vlee@freedesktop.org>:
> > > gcc-4.4 has issues with anonymous unions in initializers.
> > >
> > >   CC      drivers/clk/uniphier/clk-uniphier-sys.o
> > > drivers/clk/uniphier/clk-uniphier-sys.c:45: error: unknown field ‘factor’ specified in initializer
> > > 
> I'll go drop all three patches and wreck Andrew's merge of this
> patch to -mm.

While the specific bug is resolved now, I'm curious about the
motivation for the first fix: Vinson, are you actually using
a seven year old compiler to build modern kernels in order
to run them on real systems, or is this for the purpose of
build testing only?

It would be good to know if there are actual requirements
for using compilers this old (or even older, as according
to the README file, we theoretically support building even
with gcc-3.2 from 2002), in case we ever want to officially
raise the minimum required versions.

I see that gcc-4.3 builds an ARM defconfig kernel 17% faster than
gcc-7.0, which may be nice for build testing, but it also produces
thousands of false-positive warnings, which makes it rather
useless for actually finding bugs in build testing.

	Arnd

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-12-07 22:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-03  0:37 [PATCH] clk: uniphier: Fix build with gcc-4.4 Vinson Lee
2016-12-03  1:24 ` Masahiro Yamada
2016-12-06 23:16   ` Stephen Boyd
2016-12-07  1:34     ` Masahiro Yamada
2016-12-07 22:48     ` Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).