Message ID | 1358173828-31674-2-git-send-email-thierry.reding@avionic-design.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jan 14, 2013 at 03:30:20PM +0100, Thierry Reding wrote: > Since the variable's value is the size of an array, we can assume that > it will never be negative. > > Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> > --- > drivers/gpu/drm/drm_edid_modes.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_edid_modes.h b/drivers/gpu/drm/drm_edid_modes.h > index 5dbf7d2..d65d863 100644 > --- a/drivers/gpu/drm/drm_edid_modes.h > +++ b/drivers/gpu/drm/drm_edid_modes.h > @@ -771,4 +771,4 @@ static const struct drm_display_mode edid_cea_modes[] = { > 2492, 2640, 0, 1080, 1084, 1094, 1125, 0, > DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, > }; > -static const int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); > +static const unsigned int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); Why do we even have these num_foo things? I think it would be clearer to use ARRAY_SIZE(foo) directly where appropriate.
On Mon, Jan 14, 2013 at 04:42:39PM +0200, Ville Syrjälä wrote: > On Mon, Jan 14, 2013 at 03:30:20PM +0100, Thierry Reding wrote: > > Since the variable's value is the size of an array, we can assume that > > it will never be negative. > > > > Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> > > --- > > drivers/gpu/drm/drm_edid_modes.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/drm_edid_modes.h b/drivers/gpu/drm/drm_edid_modes.h > > index 5dbf7d2..d65d863 100644 > > --- a/drivers/gpu/drm/drm_edid_modes.h > > +++ b/drivers/gpu/drm/drm_edid_modes.h > > @@ -771,4 +771,4 @@ static const struct drm_display_mode edid_cea_modes[] = { > > 2492, 2640, 0, 1080, 1084, 1094, 1125, 0, > > DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, > > }; > > -static const int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); > > +static const unsigned int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); > > Why do we even have these num_foo things? I think it would be clearer to > use ARRAY_SIZE(foo) directly where appropriate. Actually I was thinking about maybe writing a patch to move the table out of the header and into drm_edid.c (or drm_cea.c?) to make it less easy to create duplicates of the table. In that case, using the ARRAY_SIZE macro directly wouldn't be an option. Thierry
On Mon, Jan 14, 2013 at 04:06:13PM +0100, Thierry Reding wrote: > On Mon, Jan 14, 2013 at 04:42:39PM +0200, Ville Syrjälä wrote: > > On Mon, Jan 14, 2013 at 03:30:20PM +0100, Thierry Reding wrote: > > > Since the variable's value is the size of an array, we can assume that > > > it will never be negative. > > > > > > Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> > > > --- > > > drivers/gpu/drm/drm_edid_modes.h | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/gpu/drm/drm_edid_modes.h b/drivers/gpu/drm/drm_edid_modes.h > > > index 5dbf7d2..d65d863 100644 > > > --- a/drivers/gpu/drm/drm_edid_modes.h > > > +++ b/drivers/gpu/drm/drm_edid_modes.h > > > @@ -771,4 +771,4 @@ static const struct drm_display_mode edid_cea_modes[] = { > > > 2492, 2640, 0, 1080, 1084, 1094, 1125, 0, > > > DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, > > > }; > > > -static const int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); > > > +static const unsigned int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); > > > > Why do we even have these num_foo things? I think it would be clearer to > > use ARRAY_SIZE(foo) directly where appropriate. > > Actually I was thinking about maybe writing a patch to move the table > out of the header and into drm_edid.c (or drm_cea.c?) to make it less > easy to create duplicates of the table. In that case, using the > ARRAY_SIZE macro directly wouldn't be an option. Well drm_edid.c is the only one accessing these tables anyway, so it they would be in drm_edid.c and static, you could still use ARRAY_SIZE(). Not that I really like the idea of polluting drm_edid.c with all these massive tables. Too bad cpp doesn't support this kind of thing: #if __BASE_FILE__ != "drm_edid.c" #error ... #endif
On Mon, Jan 14, 2013 at 05:47:13PM +0200, Ville Syrjälä wrote: > On Mon, Jan 14, 2013 at 04:06:13PM +0100, Thierry Reding wrote: > > On Mon, Jan 14, 2013 at 04:42:39PM +0200, Ville Syrjälä wrote: > > > On Mon, Jan 14, 2013 at 03:30:20PM +0100, Thierry Reding wrote: > > > > Since the variable's value is the size of an array, we can assume that > > > > it will never be negative. > > > > > > > > Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> > > > > --- > > > > drivers/gpu/drm/drm_edid_modes.h | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/drivers/gpu/drm/drm_edid_modes.h b/drivers/gpu/drm/drm_edid_modes.h > > > > index 5dbf7d2..d65d863 100644 > > > > --- a/drivers/gpu/drm/drm_edid_modes.h > > > > +++ b/drivers/gpu/drm/drm_edid_modes.h > > > > @@ -771,4 +771,4 @@ static const struct drm_display_mode edid_cea_modes[] = { > > > > 2492, 2640, 0, 1080, 1084, 1094, 1125, 0, > > > > DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, > > > > }; > > > > -static const int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); > > > > +static const unsigned int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); > > > > > > Why do we even have these num_foo things? I think it would be clearer to > > > use ARRAY_SIZE(foo) directly where appropriate. > > > > Actually I was thinking about maybe writing a patch to move the table > > out of the header and into drm_edid.c (or drm_cea.c?) to make it less > > easy to create duplicates of the table. In that case, using the > > ARRAY_SIZE macro directly wouldn't be an option. > > Well drm_edid.c is the only one accessing these tables anyway, so it > they would be in drm_edid.c and static, you could still use > ARRAY_SIZE(). > > Not that I really like the idea of polluting drm_edid.c with all these > massive tables. There's also the possibility to put the tables along with the functions that access them into a drm_edid_modes.c. > Too bad cpp doesn't support this kind of thing: > #if __BASE_FILE__ != "drm_edid.c" > #error ... > #endif We could fake that by protecting the tables using #ifdef NEED_CEA_MODES and define NEED_CEA_MODES in drm_edid.c before the drm_edid_modes.h file is included. Thierry
On Fri, Jan 18, 2013 at 11:30:04AM +0100, Thierry Reding wrote: > On Mon, Jan 14, 2013 at 05:47:13PM +0200, Ville Syrjälä wrote: > > On Mon, Jan 14, 2013 at 04:06:13PM +0100, Thierry Reding wrote: > > > On Mon, Jan 14, 2013 at 04:42:39PM +0200, Ville Syrjälä wrote: > > > > On Mon, Jan 14, 2013 at 03:30:20PM +0100, Thierry Reding wrote: > > > > > Since the variable's value is the size of an array, we can assume that > > > > > it will never be negative. > > > > > > > > > > Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> > > > > > --- > > > > > drivers/gpu/drm/drm_edid_modes.h | 2 +- > > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > > > diff --git a/drivers/gpu/drm/drm_edid_modes.h b/drivers/gpu/drm/drm_edid_modes.h > > > > > index 5dbf7d2..d65d863 100644 > > > > > --- a/drivers/gpu/drm/drm_edid_modes.h > > > > > +++ b/drivers/gpu/drm/drm_edid_modes.h > > > > > @@ -771,4 +771,4 @@ static const struct drm_display_mode edid_cea_modes[] = { > > > > > 2492, 2640, 0, 1080, 1084, 1094, 1125, 0, > > > > > DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, > > > > > }; > > > > > -static const int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); > > > > > +static const unsigned int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); > > > > > > > > Why do we even have these num_foo things? I think it would be clearer to > > > > use ARRAY_SIZE(foo) directly where appropriate. > > > > > > Actually I was thinking about maybe writing a patch to move the table > > > out of the header and into drm_edid.c (or drm_cea.c?) to make it less > > > easy to create duplicates of the table. In that case, using the > > > ARRAY_SIZE macro directly wouldn't be an option. > > > > Well drm_edid.c is the only one accessing these tables anyway, so it > > they would be in drm_edid.c and static, you could still use > > ARRAY_SIZE(). > > > > Not that I really like the idea of polluting drm_edid.c with all these > > massive tables. > > There's also the possibility to put the tables along with the functions > that access them into a drm_edid_modes.c. > > > Too bad cpp doesn't support this kind of thing: > > #if __BASE_FILE__ != "drm_edid.c" > > #error ... > > #endif > > We could fake that by protecting the tables using #ifdef NEED_CEA_MODES > and define NEED_CEA_MODES in drm_edid.c before the drm_edid_modes.h file > is included. Yeah, I suppose there's no better way to do that. It's a bit ugly though.
On Fri, Jan 18, 2013 at 12:51:11PM +0200, Ville Syrjälä wrote: > On Fri, Jan 18, 2013 at 11:30:04AM +0100, Thierry Reding wrote: > > On Mon, Jan 14, 2013 at 05:47:13PM +0200, Ville Syrjälä wrote: > > > On Mon, Jan 14, 2013 at 04:06:13PM +0100, Thierry Reding wrote: > > > > On Mon, Jan 14, 2013 at 04:42:39PM +0200, Ville Syrjälä wrote: > > > > > On Mon, Jan 14, 2013 at 03:30:20PM +0100, Thierry Reding wrote: > > > > > > Since the variable's value is the size of an array, we can assume that > > > > > > it will never be negative. > > > > > > > > > > > > Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> > > > > > > --- > > > > > > drivers/gpu/drm/drm_edid_modes.h | 2 +- > > > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > > > > > diff --git a/drivers/gpu/drm/drm_edid_modes.h b/drivers/gpu/drm/drm_edid_modes.h > > > > > > index 5dbf7d2..d65d863 100644 > > > > > > --- a/drivers/gpu/drm/drm_edid_modes.h > > > > > > +++ b/drivers/gpu/drm/drm_edid_modes.h > > > > > > @@ -771,4 +771,4 @@ static const struct drm_display_mode edid_cea_modes[] = { > > > > > > 2492, 2640, 0, 1080, 1084, 1094, 1125, 0, > > > > > > DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, > > > > > > }; > > > > > > -static const int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); > > > > > > +static const unsigned int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); > > > > > > > > > > Why do we even have these num_foo things? I think it would be clearer to > > > > > use ARRAY_SIZE(foo) directly where appropriate. > > > > > > > > Actually I was thinking about maybe writing a patch to move the table > > > > out of the header and into drm_edid.c (or drm_cea.c?) to make it less > > > > easy to create duplicates of the table. In that case, using the > > > > ARRAY_SIZE macro directly wouldn't be an option. > > > > > > Well drm_edid.c is the only one accessing these tables anyway, so it > > > they would be in drm_edid.c and static, you could still use > > > ARRAY_SIZE(). > > > > > > Not that I really like the idea of polluting drm_edid.c with all these > > > massive tables. > > > > There's also the possibility to put the tables along with the functions > > that access them into a drm_edid_modes.c. > > > > > Too bad cpp doesn't support this kind of thing: > > > #if __BASE_FILE__ != "drm_edid.c" > > > #error ... > > > #endif > > > > We could fake that by protecting the tables using #ifdef NEED_CEA_MODES > > and define NEED_CEA_MODES in drm_edid.c before the drm_edid_modes.h file > > is included. > > Yeah, I suppose there's no better way to do that. It's a bit ugly > though. What about moving them to a separate file altogether? It would involve moving the do_cea_modes() as well, but that would need to be called from drm_edid.c, so it isn't very pretty either. Thierry
diff --git a/drivers/gpu/drm/drm_edid_modes.h b/drivers/gpu/drm/drm_edid_modes.h index 5dbf7d2..d65d863 100644 --- a/drivers/gpu/drm/drm_edid_modes.h +++ b/drivers/gpu/drm/drm_edid_modes.h @@ -771,4 +771,4 @@ static const struct drm_display_mode edid_cea_modes[] = { 2492, 2640, 0, 1080, 1084, 1094, 1125, 0, DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) }, }; -static const int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes); +static const unsigned int drm_num_cea_modes = ARRAY_SIZE(edid_cea_modes);
Since the variable's value is the size of an array, we can assume that it will never be negative. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> --- drivers/gpu/drm/drm_edid_modes.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)