[PATCH] drm/panel: novatek-nt35560: avoid on-stack device structure

Arnd Bergmann posted 1 patch 2 weeks, 1 day ago
drivers/gpu/drm/panel/panel-novatek-nt35560.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
[PATCH] drm/panel: novatek-nt35560: avoid on-stack device structure
Posted by Arnd Bergmann 2 weeks, 1 day ago
From: Arnd Bergmann <arnd@arndb.de>

A cleanup patch apparently by accident used a local device structure
instead of a pointer to one in the nt35560_read_id() function, causing
a warning about stack usage:

drivers/gpu/drm/panel/panel-novatek-nt35560.c: In function 'nt35560_read_id':
drivers/gpu/drm/panel/panel-novatek-nt35560.c:249:1: error: the frame size of 1296 bytes is larger than 1280 bytes [-Werror=frame-larger-than=]

Change this to a pointer as was liley intended here.

Fixes: 5fbc0dbb92d6 ("drm/panel: novatek-nt35560: Clean up driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/drm/panel/panel-novatek-nt35560.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-novatek-nt35560.c b/drivers/gpu/drm/panel/panel-novatek-nt35560.c
index 561e6643dcbb..6e5173f98a22 100644
--- a/drivers/gpu/drm/panel/panel-novatek-nt35560.c
+++ b/drivers/gpu/drm/panel/panel-novatek-nt35560.c
@@ -213,7 +213,7 @@ static const struct backlight_properties nt35560_bl_props = {
 
 static void nt35560_read_id(struct mipi_dsi_multi_context *dsi_ctx)
 {
-	struct device dev = dsi_ctx->dsi->dev;
+	struct device *dev = &dsi_ctx->dsi->dev;
 	u8 vendor, version, panel;
 	u16 val;
 
@@ -225,7 +225,7 @@ static void nt35560_read_id(struct mipi_dsi_multi_context *dsi_ctx)
 		return;
 
 	if (vendor == 0x00) {
-		dev_err(&dev, "device vendor ID is zero\n");
+		dev_err(dev, "device vendor ID is zero\n");
 		dsi_ctx->accum_err = -ENODEV;
 		return;
 	}
@@ -236,12 +236,12 @@ static void nt35560_read_id(struct mipi_dsi_multi_context *dsi_ctx)
 	case DISPLAY_SONY_ACX424AKP_ID2:
 	case DISPLAY_SONY_ACX424AKP_ID3:
 	case DISPLAY_SONY_ACX424AKP_ID4:
-		dev_info(&dev,
+		dev_info(dev,
 			 "MTP vendor: %02x, version: %02x, panel: %02x\n",
 			 vendor, version, panel);
 		break;
 	default:
-		dev_info(&dev,
+		dev_info(dev,
 			 "unknown vendor: %02x, version: %02x, panel: %02x\n",
 			 vendor, version, panel);
 		break;
-- 
2.39.5
Re: [PATCH] drm/panel: novatek-nt35560: avoid on-stack device structure
Posted by Brigham Campbell 1 week, 2 days ago
On Thu Dec 4, 2025 at 2:45 AM MST, Arnd Bergmann wrote:
> Change this to a pointer as was liley intended here.

Shoot, you're absolutely right that I didn't mean to create a copy of
the struct on the stack when I wrote that code. Thanks for the fix! I'll
try to be more careful with struct usage and the stack in the future.

Can I ask how you got the build process to emit those warnings? I didn't
see it when I developed my patch.

Thanks again,
Brigham
Re: [PATCH] drm/panel: novatek-nt35560: avoid on-stack device structure
Posted by Arnd Bergmann 1 week, 2 days ago
On Wed, Dec 10, 2025, at 05:54, Brigham Campbell wrote:
> On Thu Dec 4, 2025 at 2:45 AM MST, Arnd Bergmann wrote:
>> Change this to a pointer as was liley intended here.
>
> Shoot, you're absolutely right that I didn't mean to create a copy of
> the struct on the stack when I wrote that code. Thanks for the fix! I'll
> try to be more careful with struct usage and the stack in the future.
>
> Can I ask how you got the build process to emit those warnings? I didn't
> see it when I developed my patch.

I'm doing randconfig tests to check a large number of possible configurations.
I also have the CONFIG_FRAME_WARN logic replaced with lower configuration
specific default to catch more regressions in this particular area.

       Arnd
Re: [PATCH] drm/panel: novatek-nt35560: avoid on-stack device structure
Posted by Doug Anderson 2 weeks ago
Hi,

On Thu, Dec 4, 2025 at 1:45 AM Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> A cleanup patch apparently by accident used a local device structure
> instead of a pointer to one in the nt35560_read_id() function, causing
> a warning about stack usage:
>
> drivers/gpu/drm/panel/panel-novatek-nt35560.c: In function 'nt35560_read_id':
> drivers/gpu/drm/panel/panel-novatek-nt35560.c:249:1: error: the frame size of 1296 bytes is larger than 1280 bytes [-Werror=frame-larger-than=]
>
> Change this to a pointer as was liley intended here.
>
> Fixes: 5fbc0dbb92d6 ("drm/panel: novatek-nt35560: Clean up driver")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/gpu/drm/panel/panel-novatek-nt35560.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

Whoops! Not sure how I missed that in code review. Thanks for the fix!

Reviewed-by: Douglas Anderson <dianders@chromium.org>

Pushed to drm-misc-fixes:

[1/1] drm/panel: novatek-nt35560: avoid on-stack device structure
      commit: 1a7a7b80a22448dff55e1ad69a4681fd8b760b85