Message ID | 20200411141740.14584-1-tangbin@cmss.chinamobile.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/dp_mst: Fix drm_dp_mst_topology.c selftest compilation warning | expand |
On Mon, Apr 13, 2020 at 5:29 AM Tang Bin <tangbin@cmss.chinamobile.com> wrote: > > The struct drm_dp_desc contains struct drm_dp_dpcd_ident, and the struct > drm_dp_dpcd_ident contains the array, so zero-initialization requires a > more couple of braces. In the ARM compiler environment, the compile > warning pointing it out: > drivers/gpu/drm/drm_dp_mst_topology.c: In function 'drm_dp_mst_dsc_aux_for_port': > drivers/gpu/drm/drm_dp_mst_topology.c:5494:9: warning: missing braces around initializer [-Wmissing-braces] > struct drm_dp_desc desc = { 0 }; > This seems to vary based on compilers. Maybe a memset would be better. Alex > Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com> > Signed-off-by: Shengju Zhang <zhangshengju@cmss.chinamobile.com> > --- > drivers/gpu/drm/drm_dp_mst_topology.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c > index 70c4b7a..4d8d1fd 100644 > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > @@ -5494,7 +5494,7 @@ struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port) > { > struct drm_dp_mst_port *immediate_upstream_port; > struct drm_dp_mst_port *fec_port; > - struct drm_dp_desc desc = { 0 }; > + struct drm_dp_desc desc = { { { 0 } } }; > u8 endpoint_fec; > u8 endpoint_dsc; > > -- > 2.7.4 > > > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Mon, 13 Apr 2020, Alex Deucher <alexdeucher@gmail.com> wrote: > On Mon, Apr 13, 2020 at 5:29 AM Tang Bin <tangbin@cmss.chinamobile.com> wrote: >> >> The struct drm_dp_desc contains struct drm_dp_dpcd_ident, and the struct >> drm_dp_dpcd_ident contains the array, so zero-initialization requires a >> more couple of braces. In the ARM compiler environment, the compile >> warning pointing it out: >> drivers/gpu/drm/drm_dp_mst_topology.c: In function 'drm_dp_mst_dsc_aux_for_port': >> drivers/gpu/drm/drm_dp_mst_topology.c:5494:9: warning: missing braces around initializer [-Wmissing-braces] >> struct drm_dp_desc desc = { 0 }; >> > > This seems to vary based on compilers. Maybe a memset would be better. = {}; will do the trick. BR, Jani. > > Alex > >> Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com> >> Signed-off-by: Shengju Zhang <zhangshengju@cmss.chinamobile.com> >> --- >> drivers/gpu/drm/drm_dp_mst_topology.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c >> index 70c4b7a..4d8d1fd 100644 >> --- a/drivers/gpu/drm/drm_dp_mst_topology.c >> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c >> @@ -5494,7 +5494,7 @@ struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port) >> { >> struct drm_dp_mst_port *immediate_upstream_port; >> struct drm_dp_mst_port *fec_port; >> - struct drm_dp_desc desc = { 0 }; >> + struct drm_dp_desc desc = { { { 0 } } }; >> u8 endpoint_fec; >> u8 endpoint_dsc; >> >> -- >> 2.7.4 >> >> >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi Jani: On 2020/4/14 19:08, Jani Nikula wrote: > On Mon, 13 Apr 2020, Alex Deucher <alexdeucher@gmail.com> wrote: >> On Mon, Apr 13, 2020 at 5:29 AM Tang Bin <tangbin@cmss.chinamobile.com> wrote: >>> The struct drm_dp_desc contains struct drm_dp_dpcd_ident, and the struct >>> drm_dp_dpcd_ident contains the array, so zero-initialization requires a >>> more couple of braces. In the ARM compiler environment, the compile >>> warning pointing it out: >>> drivers/gpu/drm/drm_dp_mst_topology.c: In function 'drm_dp_mst_dsc_aux_for_port': >>> drivers/gpu/drm/drm_dp_mst_topology.c:5494:9: warning: missing braces around initializer [-Wmissing-braces] >>> struct drm_dp_desc desc = { 0 }; >>> >> This seems to vary based on compilers. Maybe a memset would be better. > = {}; will do the trick. Yes, I had already confirmed this on the hardware before I mentioned the patch: '{}' or '{{{0}}}' are the same result in this file.But someone may query '{}' could not initialize all members, that's why I brought '{{{0}}}' up. Both initializations are validated on the hardware. My environment: PC : Ubuntu 16.04 Hardware : I.MX6ULL Tool Chain : arm-linux-gnueabihf-gcc (Linaro GCC 4.9-2017.01) 4.9.4 Thanks Tang Bin
On Tue, 14 Apr 2020, Tang Bin <tangbin@cmss.chinamobile.com> wrote: > But someone may query '{}' could not initialize all members, that's > why I brought '{{{0}}}' up. {} *does* initialize everything. What are you trying to say? BR, Jani.
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index 70c4b7a..4d8d1fd 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -5494,7 +5494,7 @@ struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port) { struct drm_dp_mst_port *immediate_upstream_port; struct drm_dp_mst_port *fec_port; - struct drm_dp_desc desc = { 0 }; + struct drm_dp_desc desc = { { { 0 } } }; u8 endpoint_fec; u8 endpoint_dsc;