[PATCH] drm/edid: make a couple of read-only arrays static const

Colin Ian King posted 1 patch 3 years, 5 months ago
drivers/gpu/drm/drm_edid.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] drm/edid: make a couple of read-only arrays static const
Posted by Colin Ian King 3 years, 5 months ago
Don't populate two read-only arrays on the stack but instead make
them static const . Also makes the object code a little smaller.

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
---
 drivers/gpu/drm/drm_edid.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 4671dc23abe0..50d488cc840e 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3916,8 +3916,8 @@ static int drm_cvt_modes(struct drm_connector *connector,
 	struct drm_display_mode *newmode;
 	struct drm_device *dev = connector->dev;
 	const struct cvt_timing *cvt;
-	const int rates[] = { 60, 85, 75, 60, 50 };
-	const u8 empty[3] = { 0, 0, 0 };
+	static const int rates[] = { 60, 85, 75, 60, 50 };
+	static const u8 empty[3] = { 0, 0, 0 };
 
 	for (i = 0; i < 4; i++) {
 		int width, height;
-- 
2.38.1
Re: [PATCH] drm/edid: make a couple of read-only arrays static const
Posted by Jani Nikula 3 years, 5 months ago
On Thu, 03 Nov 2022, Colin Ian King <colin.i.king@gmail.com> wrote:
> Don't populate two read-only arrays on the stack but instead make
> them static const . Also makes the object code a little smaller.
>
> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
> ---
>  drivers/gpu/drm/drm_edid.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 4671dc23abe0..50d488cc840e 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -3916,8 +3916,8 @@ static int drm_cvt_modes(struct drm_connector *connector,
>  	struct drm_display_mode *newmode;
>  	struct drm_device *dev = connector->dev;
>  	const struct cvt_timing *cvt;
> -	const int rates[] = { 60, 85, 75, 60, 50 };
> -	const u8 empty[3] = { 0, 0, 0 };
> +	static const int rates[] = { 60, 85, 75, 60, 50 };
> +	static const u8 empty[3] = { 0, 0, 0 };

The change is fine per se, but I think this whole array is silly. Could
be removed with:

-		if (!memcmp(cvt->code, empty, 3))
+		if (!memchr_inv(cvt->code, 0, sizeof(cvt->code)))


BR,
Jani.

PS. I also note that rates[0] is never used, but that's another story,
maybe a bug.


>  
>  	for (i = 0; i < 4; i++) {
>  		int width, height;

-- 
Jani Nikula, Intel Open Source Graphics Center