diff mbox

[v3,1/9] drm: Make drm_num_cea_modes unsigned

Message ID 1358173828-31674-2-git-send-email-thierry.reding@avionic-design.de (mailing list archive)
State New, archived
Headers show

Commit Message

Thierry Reding Jan. 14, 2013, 2:30 p.m. UTC
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(-)

Comments

Ville Syrjälä Jan. 14, 2013, 2:42 p.m. UTC | #1
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.
Thierry Reding Jan. 14, 2013, 3:06 p.m. UTC | #2
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
Ville Syrjälä Jan. 14, 2013, 3:47 p.m. UTC | #3
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
Thierry Reding Jan. 18, 2013, 10:30 a.m. UTC | #4
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
Ville Syrjälä Jan. 18, 2013, 10:51 a.m. UTC | #5
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.
Thierry Reding Jan. 18, 2013, 11:08 a.m. UTC | #6
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 mbox

Patch

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