dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] use c99 initializers in structures
@ 2014-08-23 11:20 Julia Lawall
  2014-08-23 11:20 ` [PATCH 6/9] drm: " Julia Lawall
  2014-08-23 15:21 ` [PATCH 0/9] " Josh Triplett
  0 siblings, 2 replies; 6+ messages in thread
From: Julia Lawall @ 2014-08-23 11:20 UTC (permalink / raw)
  To: dri-devel
  Cc: devel, linux-pwm, linux-fbdev, rtc-linux, linux-nfc,
	kernel-janitors, linux-wireless, josh, linux-kernel, linux-omap,
	linux-media

These patches add labels in the initializations of structure fields (c99
initializers).  The complete semantic patch thta makes this change is shown
below.  This rule ignores cases where the initialization is just 0 or NULL,
where some of the fields already use labels, and where there are nested
structures.

// <smpl>
@ok1@
identifier i1,i2;
position p;
@@

struct i1 i2@p = { \(0\|NULL\) };

@ok2@
identifier i1,i2,i3;
position p;
expression e;
@@

struct i1 i2@p = { ..., .i3 = e, ... };

@ok3@
identifier i1,i2;
position p;
@@

struct i1 i2@p = { ..., { ... }, ... };

@decl@
identifier i1,fld;
type T;
field list[n] fs;
@@

struct i1 {
 fs
 T fld;
 ...};

@bad@
identifier decl.i1,i2;
expression e;
position p != {ok1.p,ok2.p,ok3.p};
constant nm;
initializer list[decl.n] is;
position fix;
@@

struct i1 i2@p = { is,
(
 nm(...)
|
 e@fix
)
 ,...};

@@
identifier decl.i1,i2,decl.fld;
expression e;
position bad.p, bad.fix;
@@

struct i1 i2@p = { ...,
+ .fld = e
- e@fix
 ,...};
// </smpl>

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

* [PATCH 6/9] drm: use c99 initializers in structures
  2014-08-23 11:20 [PATCH 0/9] use c99 initializers in structures Julia Lawall
@ 2014-08-23 11:20 ` Julia Lawall
  2014-08-23 15:16   ` Josh Triplett
  2014-08-23 15:21 ` [PATCH 0/9] " Josh Triplett
  1 sibling, 1 reply; 6+ messages in thread
From: Julia Lawall @ 2014-08-23 11:20 UTC (permalink / raw)
  To: David Airlie; +Cc: josh, kernel-janitors, dri-devel, linux-kernel

From: Julia Lawall <Julia.Lawall@lip6.fr>

Use c99 initializers for structures.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@decl@
identifier i1,fld;
type T;
field list[n] fs;
@@

struct i1 {
 fs
 T fld;
 ...};

@bad@
identifier decl.i1,i2;
expression e;
initializer list[decl.n] is;
@@

struct i1 i2 = { is,
+ .fld = e
- e
 ,...};
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

---
The patches in this series do not depend on each other.

 drivers/gpu/drm/sti/sti_vtac.c |   12 ++++++++++--
 drivers/gpu/drm/drm_edid.c     |   34 +++++++++++++++++++++++++---------
 2 files changed, 35 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_vtac.c b/drivers/gpu/drm/sti/sti_vtac.c
index 82a51d4..4576536 100644
--- a/drivers/gpu/drm/sti/sti_vtac.c
+++ b/drivers/gpu/drm/sti/sti_vtac.c
@@ -56,8 +56,16 @@ struct sti_vtac_mode {
 	u32 phyts_per_pixel;
 };
 
-static const struct sti_vtac_mode vtac_mode_main = {0x2, 0x2, VTAC_5_PPP};
-static const struct sti_vtac_mode vtac_mode_aux = {0x1, 0x0, VTAC_17_PPP};
+static const struct sti_vtac_mode vtac_mode_main = {
+	.vid_in_width = 0x2,
+	.phyts_width = 0x2,
+	.phyts_per_pixel = VTAC_5_PPP
+};
+static const struct sti_vtac_mode vtac_mode_aux = {
+	.vid_in_width = 0x1,
+	.phyts_width = 0x0,
+	.phyts_per_pixel = VTAC_17_PPP
+};
 
 /**
  * VTAC structure
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 1dbf3bc..a28c330 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -2103,7 +2103,11 @@ static int
 add_inferred_modes(struct drm_connector *connector, struct edid *edid)
 {
 	struct detailed_mode_closure closure = {
-		connector, edid, 0, 0, 0
+		.connector = connector,
+		.edid = edid,
+		.preferred = 0,
+		.quirks = 0,
+		.modes = 0
 	};
 
 	if (version_greater(edid, 1, 0))
@@ -2169,7 +2173,11 @@ add_established_modes(struct drm_connector *connector, struct edid *edid)
 		((edid->established_timings.mfg_rsvd & 0x80) << 9);
 	int i, modes = 0;
 	struct detailed_mode_closure closure = {
-		connector, edid, 0, 0, 0
+		.connector = connector,
+		.edid = edid,
+		.preferred = 0,
+		.quirks = 0,
+		.modes = 0
 	};
 
 	for (i = 0; i <= EDID_EST_TIMINGS; i++) {
@@ -2227,7 +2235,11 @@ add_standard_modes(struct drm_connector *connector, struct edid *edid)
 {
 	int i, modes = 0;
 	struct detailed_mode_closure closure = {
-		connector, edid, 0, 0, 0
+		.connector = connector,
+		.edid = edid,
+		.preferred = 0,
+		.quirks = 0,
+		.modes = 0
 	};
 
 	for (i = 0; i < EDID_STD_TIMINGS; i++) {
@@ -2313,7 +2325,11 @@ static int
 add_cvt_modes(struct drm_connector *connector, struct edid *edid)
 {	
 	struct detailed_mode_closure closure = {
-		connector, edid, 0, 0, 0
+		.connector = connector,
+		.edid = edid,
+		.preferred = 0,
+		.quirks = 0,
+		.modes = 0
 	};
 
 	if (version_greater(edid, 1, 2))
@@ -2357,11 +2373,11 @@ add_detailed_modes(struct drm_connector *connector, struct edid *edid,
 		   u32 quirks)
 {
 	struct detailed_mode_closure closure = {
-		connector,
-		edid,
-		1,
-		quirks,
-		0
+		.connector = connector,
+		.edid = edid,
+		.preferred = 1,
+		.quirks = quirks,
+		.modes = 0
 	};
 
 	if (closure.preferred && !version_greater(edid, 1, 3))

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

* Re: [PATCH 6/9] drm: use c99 initializers in structures
  2014-08-23 11:20 ` [PATCH 6/9] drm: " Julia Lawall
@ 2014-08-23 15:16   ` Josh Triplett
  2014-08-23 16:09     ` [PATCH 6/9 v2] " Julia Lawall
  0 siblings, 1 reply; 6+ messages in thread
From: Josh Triplett @ 2014-08-23 15:16 UTC (permalink / raw)
  To: Julia Lawall; +Cc: David Airlie, kernel-janitors, dri-devel, linux-kernel

On Sat, Aug 23, 2014 at 01:20:28PM +0200, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
> 
> Use c99 initializers for structures.
> 
> A simplified version of the semantic match that finds this problem is as
> follows: (http://coccinelle.lip6.fr/)
> 
> // <smpl>
> @decl@
> identifier i1,fld;
> type T;
> field list[n] fs;
> @@
> 
> struct i1 {
>  fs
>  T fld;
>  ...};
> 
> @bad@
> identifier decl.i1,i2;
> expression e;
> initializer list[decl.n] is;
> @@
> 
> struct i1 i2 = { is,
> + .fld = e
> - e
>  ,...};
> // </smpl>
> 
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

For this patch, I think it would make sense to drop
initializations of preferred/quirks/modes to 0, since a designated
initializer may skip fields to leave them initialized to 0.

With that change:
Reviewed-by: Josh Triplett <josh@joshtriplett.org>

> 
>  drivers/gpu/drm/sti/sti_vtac.c |   12 ++++++++++--
>  drivers/gpu/drm/drm_edid.c     |   34 +++++++++++++++++++++++++---------
>  2 files changed, 35 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/sti/sti_vtac.c b/drivers/gpu/drm/sti/sti_vtac.c
> index 82a51d4..4576536 100644
> --- a/drivers/gpu/drm/sti/sti_vtac.c
> +++ b/drivers/gpu/drm/sti/sti_vtac.c
> @@ -56,8 +56,16 @@ struct sti_vtac_mode {
>  	u32 phyts_per_pixel;
>  };
>  
> -static const struct sti_vtac_mode vtac_mode_main = {0x2, 0x2, VTAC_5_PPP};
> -static const struct sti_vtac_mode vtac_mode_aux = {0x1, 0x0, VTAC_17_PPP};
> +static const struct sti_vtac_mode vtac_mode_main = {
> +	.vid_in_width = 0x2,
> +	.phyts_width = 0x2,
> +	.phyts_per_pixel = VTAC_5_PPP
> +};
> +static const struct sti_vtac_mode vtac_mode_aux = {
> +	.vid_in_width = 0x1,
> +	.phyts_width = 0x0,
> +	.phyts_per_pixel = VTAC_17_PPP
> +};
>  
>  /**
>   * VTAC structure
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 1dbf3bc..a28c330 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -2103,7 +2103,11 @@ static int
>  add_inferred_modes(struct drm_connector *connector, struct edid *edid)
>  {
>  	struct detailed_mode_closure closure = {
> -		connector, edid, 0, 0, 0
> +		.connector = connector,
> +		.edid = edid,
> +		.preferred = 0,
> +		.quirks = 0,
> +		.modes = 0
>  	};
>  
>  	if (version_greater(edid, 1, 0))
> @@ -2169,7 +2173,11 @@ add_established_modes(struct drm_connector *connector, struct edid *edid)
>  		((edid->established_timings.mfg_rsvd & 0x80) << 9);
>  	int i, modes = 0;
>  	struct detailed_mode_closure closure = {
> -		connector, edid, 0, 0, 0
> +		.connector = connector,
> +		.edid = edid,
> +		.preferred = 0,
> +		.quirks = 0,
> +		.modes = 0
>  	};
>  
>  	for (i = 0; i <= EDID_EST_TIMINGS; i++) {
> @@ -2227,7 +2235,11 @@ add_standard_modes(struct drm_connector *connector, struct edid *edid)
>  {
>  	int i, modes = 0;
>  	struct detailed_mode_closure closure = {
> -		connector, edid, 0, 0, 0
> +		.connector = connector,
> +		.edid = edid,
> +		.preferred = 0,
> +		.quirks = 0,
> +		.modes = 0
>  	};
>  
>  	for (i = 0; i < EDID_STD_TIMINGS; i++) {
> @@ -2313,7 +2325,11 @@ static int
>  add_cvt_modes(struct drm_connector *connector, struct edid *edid)
>  {	
>  	struct detailed_mode_closure closure = {
> -		connector, edid, 0, 0, 0
> +		.connector = connector,
> +		.edid = edid,
> +		.preferred = 0,
> +		.quirks = 0,
> +		.modes = 0
>  	};
>  
>  	if (version_greater(edid, 1, 2))
> @@ -2357,11 +2373,11 @@ add_detailed_modes(struct drm_connector *connector, struct edid *edid,
>  		   u32 quirks)
>  {
>  	struct detailed_mode_closure closure = {
> -		connector,
> -		edid,
> -		1,
> -		quirks,
> -		0
> +		.connector = connector,
> +		.edid = edid,
> +		.preferred = 1,
> +		.quirks = quirks,
> +		.modes = 0
>  	};
>  
>  	if (closure.preferred && !version_greater(edid, 1, 3))
> 

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

* Re: [PATCH 0/9] use c99 initializers in structures
  2014-08-23 11:20 [PATCH 0/9] use c99 initializers in structures Julia Lawall
  2014-08-23 11:20 ` [PATCH 6/9] drm: " Julia Lawall
@ 2014-08-23 15:21 ` Josh Triplett
  1 sibling, 0 replies; 6+ messages in thread
From: Josh Triplett @ 2014-08-23 15:21 UTC (permalink / raw)
  To: Julia Lawall
  Cc: dri-devel, kernel-janitors, linux-nfc, linux-wireless,
	linux-fbdev, linux-kernel, linux-media, linux-pwm, devel,
	linux-omap, rtc-linux

On Sat, Aug 23, 2014 at 01:20:22PM +0200, Julia Lawall wrote:
> These patches add labels in the initializations of structure fields (c99
> initializers).  The complete semantic patch thta makes this change is shown
> below.  This rule ignores cases where the initialization is just 0 or NULL,
> where some of the fields already use labels, and where there are nested
> structures.

I responded to patches 6 and 8 with comments; for the rest (1-5, 7, 9):
Reviewed-by: Josh Triplett <josh@joshtriplett.org>

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

* [PATCH 6/9 v2] drm: use c99 initializers in structures
  2014-08-23 15:16   ` Josh Triplett
@ 2014-08-23 16:09     ` Julia Lawall
  2014-08-25 13:18       ` Daniel Vetter
  0 siblings, 1 reply; 6+ messages in thread
From: Julia Lawall @ 2014-08-23 16:09 UTC (permalink / raw)
  To: Josh Triplett; +Cc: David Airlie, kernel-janitors, dri-devel, linux-kernel

From: Julia Lawall <Julia.Lawall@lip6.fr>

Use c99 initializers for structures.

Drop 0 initializers in drivers/gpu/drm/sti/sti_vtac.c.  A 0x0 initializer
is left in vtac_mode_aux in drivers/gpu/drm/sti/sti_vtac.c to highlight the
relation to vtac_mode_main.

A simplified version of the semantic match that finds the first problem is
as follows: (http://coccinelle.lip6.fr/)

// <smpl>
@decl@
identifier i1,fld;
type T;
field list[n] fs;
@@

struct i1 {
 fs
 T fld;
 ...};

@bad@
identifier decl.i1,i2;
expression e;
initializer list[decl.n] is;
@@

struct i1 i2 = { is,
+ .fld = e
- e
 ,...};
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

---
The patches in this series do not depend on each other.

v2: Drop 0 initializers and add trailing commas at the suggestions of Josh
Triplett.

 drivers/gpu/drm/drm_edid.c     |   21 ++++++++++++---------
 drivers/gpu/drm/sti/sti_vtac.c |   12 ++++++++++--
 2 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/sti/sti_vtac.c b/drivers/gpu/drm/sti/sti_vtac.c
index 82a51d4..4576536 100644
--- a/drivers/gpu/drm/sti/sti_vtac.c
+++ b/drivers/gpu/drm/sti/sti_vtac.c
@@ -56,8 +56,16 @@ struct sti_vtac_mode {
 	u32 phyts_per_pixel;
 };
 
-static const struct sti_vtac_mode vtac_mode_main = {0x2, 0x2, VTAC_5_PPP};
-static const struct sti_vtac_mode vtac_mode_aux = {0x1, 0x0, VTAC_17_PPP};
+static const struct sti_vtac_mode vtac_mode_main = {
+	.vid_in_width = 0x2,
+	.phyts_width = 0x2,
+	.phyts_per_pixel = VTAC_5_PPP,
+};
+static const struct sti_vtac_mode vtac_mode_aux = {
+	.vid_in_width = 0x1,
+	.phyts_width = 0x0,
+	.phyts_per_pixel = VTAC_17_PPP,
+};
 
 /**
  * VTAC structure
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 1dbf3bc..859ae1c 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -2103,7 +2103,8 @@ static int
 add_inferred_modes(struct drm_connector *connector, struct edid *edid)
 {
 	struct detailed_mode_closure closure = {
-		connector, edid, 0, 0, 0
+		.connector = connector,
+		.edid = edid,
 	};
 
 	if (version_greater(edid, 1, 0))
@@ -2169,7 +2170,8 @@ add_established_modes(struct drm_connector *connector, struct edid *edid)
 		((edid->established_timings.mfg_rsvd & 0x80) << 9);
 	int i, modes = 0;
 	struct detailed_mode_closure closure = {
-		connector, edid, 0, 0, 0
+		.connector = connector,
+		.edid = edid,
 	};
 
 	for (i = 0; i <= EDID_EST_TIMINGS; i++) {
@@ -2227,7 +2229,8 @@ add_standard_modes(struct drm_connector *connector, struct edid *edid)
 {
 	int i, modes = 0;
 	struct detailed_mode_closure closure = {
-		connector, edid, 0, 0, 0
+		.connector = connector,
+		.edid = edid,
 	};
 
 	for (i = 0; i < EDID_STD_TIMINGS; i++) {
@@ -2313,7 +2316,8 @@ static int
 add_cvt_modes(struct drm_connector *connector, struct edid *edid)
 {	
 	struct detailed_mode_closure closure = {
-		connector, edid, 0, 0, 0
+		.connector = connector,
+		.edid = edid,
 	};
 
 	if (version_greater(edid, 1, 2))
@@ -2357,11 +2361,10 @@ add_detailed_modes(struct drm_connector *connector, struct edid *edid,
 		   u32 quirks)
 {
 	struct detailed_mode_closure closure = {
-		connector,
-		edid,
-		1,
-		quirks,
-		0
+		.connector = connector,
+		.edid = edid,
+		.preferred = 1,
+		.quirks = quirks,
 	};
 
 	if (closure.preferred && !version_greater(edid, 1, 3))

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

* Re: [PATCH 6/9 v2] drm: use c99 initializers in structures
  2014-08-23 16:09     ` [PATCH 6/9 v2] " Julia Lawall
@ 2014-08-25 13:18       ` Daniel Vetter
  0 siblings, 0 replies; 6+ messages in thread
From: Daniel Vetter @ 2014-08-25 13:18 UTC (permalink / raw)
  To: Julia Lawall; +Cc: Josh Triplett, kernel-janitors, linux-kernel, dri-devel

On Sat, Aug 23, 2014 at 06:09:56PM +0200, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
> 
> Use c99 initializers for structures.
> 
> Drop 0 initializers in drivers/gpu/drm/sti/sti_vtac.c.  A 0x0 initializer
> is left in vtac_mode_aux in drivers/gpu/drm/sti/sti_vtac.c to highlight the
> relation to vtac_mode_main.
> 
> A simplified version of the semantic match that finds the first problem is
> as follows: (http://coccinelle.lip6.fr/)
> 
> // <smpl>
> @decl@
> identifier i1,fld;
> type T;
> field list[n] fs;
> @@
> 
> struct i1 {
>  fs
>  T fld;
>  ...};
> 
> @bad@
> identifier decl.i1,i2;
> expression e;
> initializer list[decl.n] is;
> @@
> 
> struct i1 i2 = { is,
> + .fld = e
> - e
>  ,...};
> // </smpl>
> 
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
> 
> ---
> The patches in this series do not depend on each other.
> 
> v2: Drop 0 initializers and add trailing commas at the suggestions of Josh
> Triplett.

Slurped into my drm topic branch for 3.18 to make sure it doesn't get lost.
-Daniel

> 
>  drivers/gpu/drm/drm_edid.c     |   21 ++++++++++++---------
>  drivers/gpu/drm/sti/sti_vtac.c |   12 ++++++++++--
>  2 files changed, 22 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/sti/sti_vtac.c b/drivers/gpu/drm/sti/sti_vtac.c
> index 82a51d4..4576536 100644
> --- a/drivers/gpu/drm/sti/sti_vtac.c
> +++ b/drivers/gpu/drm/sti/sti_vtac.c
> @@ -56,8 +56,16 @@ struct sti_vtac_mode {
>  	u32 phyts_per_pixel;
>  };
>  
> -static const struct sti_vtac_mode vtac_mode_main = {0x2, 0x2, VTAC_5_PPP};
> -static const struct sti_vtac_mode vtac_mode_aux = {0x1, 0x0, VTAC_17_PPP};
> +static const struct sti_vtac_mode vtac_mode_main = {
> +	.vid_in_width = 0x2,
> +	.phyts_width = 0x2,
> +	.phyts_per_pixel = VTAC_5_PPP,
> +};
> +static const struct sti_vtac_mode vtac_mode_aux = {
> +	.vid_in_width = 0x1,
> +	.phyts_width = 0x0,
> +	.phyts_per_pixel = VTAC_17_PPP,
> +};
>  
>  /**
>   * VTAC structure
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 1dbf3bc..859ae1c 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -2103,7 +2103,8 @@ static int
>  add_inferred_modes(struct drm_connector *connector, struct edid *edid)
>  {
>  	struct detailed_mode_closure closure = {
> -		connector, edid, 0, 0, 0
> +		.connector = connector,
> +		.edid = edid,
>  	};
>  
>  	if (version_greater(edid, 1, 0))
> @@ -2169,7 +2170,8 @@ add_established_modes(struct drm_connector *connector, struct edid *edid)
>  		((edid->established_timings.mfg_rsvd & 0x80) << 9);
>  	int i, modes = 0;
>  	struct detailed_mode_closure closure = {
> -		connector, edid, 0, 0, 0
> +		.connector = connector,
> +		.edid = edid,
>  	};
>  
>  	for (i = 0; i <= EDID_EST_TIMINGS; i++) {
> @@ -2227,7 +2229,8 @@ add_standard_modes(struct drm_connector *connector, struct edid *edid)
>  {
>  	int i, modes = 0;
>  	struct detailed_mode_closure closure = {
> -		connector, edid, 0, 0, 0
> +		.connector = connector,
> +		.edid = edid,
>  	};
>  
>  	for (i = 0; i < EDID_STD_TIMINGS; i++) {
> @@ -2313,7 +2316,8 @@ static int
>  add_cvt_modes(struct drm_connector *connector, struct edid *edid)
>  {	
>  	struct detailed_mode_closure closure = {
> -		connector, edid, 0, 0, 0
> +		.connector = connector,
> +		.edid = edid,
>  	};
>  
>  	if (version_greater(edid, 1, 2))
> @@ -2357,11 +2361,10 @@ add_detailed_modes(struct drm_connector *connector, struct edid *edid,
>  		   u32 quirks)
>  {
>  	struct detailed_mode_closure closure = {
> -		connector,
> -		edid,
> -		1,
> -		quirks,
> -		0
> +		.connector = connector,
> +		.edid = edid,
> +		.preferred = 1,
> +		.quirks = quirks,
>  	};
>  
>  	if (closure.preferred && !version_greater(edid, 1, 3))
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

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

end of thread, other threads:[~2014-08-25 13:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-23 11:20 [PATCH 0/9] use c99 initializers in structures Julia Lawall
2014-08-23 11:20 ` [PATCH 6/9] drm: " Julia Lawall
2014-08-23 15:16   ` Josh Triplett
2014-08-23 16:09     ` [PATCH 6/9 v2] " Julia Lawall
2014-08-25 13:18       ` Daniel Vetter
2014-08-23 15:21 ` [PATCH 0/9] " Josh Triplett

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).