Linux Framebuffer Layer development
 help / color / mirror / Atom feed
* [PATCH 08/14] fbdev/omap2: Include <linux/export.h>
From: Thomas Zimmermann @ 2025-06-10 10:56 UTC (permalink / raw)
  To: deller, soci, simona, jayalk, linux, FlorianSchandinat, alchark,
	krzk
  Cc: linux-fbdev, dri-devel, linux-arm-kernel, linux-omap,
	Thomas Zimmermann
In-Reply-To: <20250610105948.384540-1-tzimmermann@suse.de>

Fix the compile-time warnings

  drivers/video/fbdev/omap2/omapfb/dss/apply.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap2/omapfb/dss/core.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap2/omapfb/dss/display.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap2/omapfb/dss/dss-of.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap2/omapfb/dss/dss_features.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap2/omapfb/dss/manager.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap2/omapfb/dss/output.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap2/omapfb/dss/overlay.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap2/omapfb/dss/venc.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap2/omapfb/vrfb.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/omap2/omapfb/dss/apply.c        | 1 +
 drivers/video/fbdev/omap2/omapfb/dss/core.c         | 1 +
 drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c | 1 +
 drivers/video/fbdev/omap2/omapfb/dss/display.c      | 1 +
 drivers/video/fbdev/omap2/omapfb/dss/dss-of.c       | 1 +
 drivers/video/fbdev/omap2/omapfb/dss/dss_features.c | 1 +
 drivers/video/fbdev/omap2/omapfb/dss/manager.c      | 1 +
 drivers/video/fbdev/omap2/omapfb/dss/output.c       | 1 +
 drivers/video/fbdev/omap2/omapfb/dss/overlay.c      | 1 +
 drivers/video/fbdev/omap2/omapfb/dss/venc.c         | 1 +
 drivers/video/fbdev/omap2/omapfb/vrfb.c             | 1 +
 11 files changed, 11 insertions(+)

diff --git a/drivers/video/fbdev/omap2/omapfb/dss/apply.c b/drivers/video/fbdev/omap2/omapfb/dss/apply.c
index acca991c7540..39947e569a54 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/apply.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/apply.c
@@ -6,6 +6,7 @@
 
 #define DSS_SUBSYS_NAME "APPLY"
 
+#include <linux/export.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/slab.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/core.c b/drivers/video/fbdev/omap2/omapfb/dss/core.c
index 55b640f2f245..02ea41f6c8f4 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/core.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/core.c
@@ -15,6 +15,7 @@
 #include <linux/module.h>
 #include <linux/clk.h>
 #include <linux/err.h>
+#include <linux/export.h>
 #include <linux/platform_device.h>
 #include <linux/seq_file.h>
 #include <linux/debugfs.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c b/drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c
index cc2ad787d493..7831c6a2eedb 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c
@@ -6,6 +6,7 @@
 
 #define DSS_SUBSYS_NAME "APPLY"
 
+#include <linux/export.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/slab.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/display.c b/drivers/video/fbdev/omap2/omapfb/dss/display.c
index f91db94c9905..16543425bd84 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/display.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/display.c
@@ -11,6 +11,7 @@
 
 #define DSS_SUBSYS_NAME "DISPLAY"
 
+#include <linux/export.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/jiffies.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c b/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
index 7c636db79882..f90a8eff7259 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
@@ -6,6 +6,7 @@
 
 #include <linux/device.h>
 #include <linux/err.h>
+#include <linux/export.h>
 #include <linux/module.h>
 #include <linux/of.h>
 #include <linux/of_graph.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss_features.c b/drivers/video/fbdev/omap2/omapfb/dss/dss_features.c
index 62c2d48d9e09..38be57ba8c28 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/dss_features.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/dss_features.c
@@ -6,6 +6,7 @@
  * Author: Archit Taneja <archit@ti.com>
  */
 
+#include <linux/export.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/types.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/manager.c b/drivers/video/fbdev/omap2/omapfb/dss/manager.c
index 2c2da35345d0..c59e5689d6cc 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/manager.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/manager.c
@@ -11,6 +11,7 @@
 
 #define DSS_SUBSYS_NAME "MANAGER"
 
+#include <linux/export.h>
 #include <linux/kernel.h>
 #include <linux/slab.h>
 #include <linux/module.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/output.c b/drivers/video/fbdev/omap2/omapfb/dss/output.c
index 4e2992a0ce50..48cbfb75443f 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/output.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/output.c
@@ -4,6 +4,7 @@
  * Author: Archit Taneja <archit@ti.com>
  */
 
+#include <linux/export.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/overlay.c b/drivers/video/fbdev/omap2/omapfb/dss/overlay.c
index 8c8e627da13d..bbbdc233ee61 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/overlay.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/overlay.c
@@ -14,6 +14,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/err.h>
+#include <linux/export.h>
 #include <linux/sysfs.h>
 #include <linux/platform_device.h>
 #include <linux/delay.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/venc.c b/drivers/video/fbdev/omap2/omapfb/dss/venc.c
index f99dda9e55a5..ed283029ad95 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/venc.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/venc.c
@@ -14,6 +14,7 @@
 #include <linux/module.h>
 #include <linux/clk.h>
 #include <linux/err.h>
+#include <linux/export.h>
 #include <linux/io.h>
 #include <linux/mutex.h>
 #include <linux/completion.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/vrfb.c b/drivers/video/fbdev/omap2/omapfb/vrfb.c
index 568e6e1eca62..675482cde519 100644
--- a/drivers/video/fbdev/omap2/omapfb/vrfb.c
+++ b/drivers/video/fbdev/omap2/omapfb/vrfb.c
@@ -9,6 +9,7 @@
 /*#define DEBUG*/
 
 #include <linux/err.h>
+#include <linux/export.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/ioport.h>
-- 
2.49.0


^ permalink raw reply related

* [PATCH 07/14] fbdev/omap: Include <linux/export.h>
From: Thomas Zimmermann @ 2025-06-10 10:56 UTC (permalink / raw)
  To: deller, soci, simona, jayalk, linux, FlorianSchandinat, alchark,
	krzk
  Cc: linux-fbdev, dri-devel, linux-arm-kernel, linux-omap,
	Thomas Zimmermann
In-Reply-To: <20250610105948.384540-1-tzimmermann@suse.de>

Fix the compile-time warnings

  drivers/video/fbdev/omap/lcd_dma.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap/lcdc.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/omap/omapfb_main.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/omap/lcd_dma.c     | 1 +
 drivers/video/fbdev/omap/lcdc.c        | 2 ++
 drivers/video/fbdev/omap/omapfb_main.c | 2 ++
 3 files changed, 5 insertions(+)

diff --git a/drivers/video/fbdev/omap/lcd_dma.c b/drivers/video/fbdev/omap/lcd_dma.c
index 0da23c57e475..56300be71c57 100644
--- a/drivers/video/fbdev/omap/lcd_dma.c
+++ b/drivers/video/fbdev/omap/lcd_dma.c
@@ -18,6 +18,7 @@
  * Support functions for the OMAP internal DMA channels.
  */
 
+#include <linux/export.h>
 #include <linux/module.h>
 #include <linux/spinlock.h>
 #include <linux/interrupt.h>
diff --git a/drivers/video/fbdev/omap/lcdc.c b/drivers/video/fbdev/omap/lcdc.c
index abb8b11464e8..53ca58ec5eed 100644
--- a/drivers/video/fbdev/omap/lcdc.c
+++ b/drivers/video/fbdev/omap/lcdc.c
@@ -5,8 +5,10 @@
  * Copyright (C) 2004 Nokia Corporation
  * Author: Imre Deak <imre.deak@nokia.com>
  */
+
 #include <linux/module.h>
 #include <linux/device.h>
+#include <linux/export.h>
 #include <linux/interrupt.h>
 #include <linux/spinlock.h>
 #include <linux/err.h>
diff --git a/drivers/video/fbdev/omap/omapfb_main.c b/drivers/video/fbdev/omap/omapfb_main.c
index 2682b20d184a..106d21e74738 100644
--- a/drivers/video/fbdev/omap/omapfb_main.c
+++ b/drivers/video/fbdev/omap/omapfb_main.c
@@ -11,6 +11,8 @@
  *   Dirk Behme <dirk.behme@de.bosch.com>  - changes for 2.6 kernel API
  *   Texas Instruments                     - H3 support
  */
+
+#include <linux/export.h>
 #include <linux/platform_device.h>
 #include <linux/mm.h>
 #include <linux/slab.h>
-- 
2.49.0


^ permalink raw reply related

* [PATCH 10/14] fbdev/mb862xx: Do not include <linux/export.h>
From: Thomas Zimmermann @ 2025-06-10 10:56 UTC (permalink / raw)
  To: deller, soci, simona, jayalk, linux, FlorianSchandinat, alchark,
	krzk
  Cc: linux-fbdev, dri-devel, linux-arm-kernel, linux-omap,
	Thomas Zimmermann
In-Reply-To: <20250610105948.384540-1-tzimmermann@suse.de>

Fix the compile-time warning

  drivers/video/fbdev/mb862xx/mb862xx-i2c.c: warning: EXPORT_SYMBOL() is not used, but #include <linux/export.h> is present

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/mb862xx/mb862xx-i2c.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/video/fbdev/mb862xx/mb862xx-i2c.c b/drivers/video/fbdev/mb862xx/mb862xx-i2c.c
index ffdb1597d303..08b7f19a67a5 100644
--- a/drivers/video/fbdev/mb862xx/mb862xx-i2c.c
+++ b/drivers/video/fbdev/mb862xx/mb862xx-i2c.c
@@ -9,7 +9,6 @@
 #include <linux/i2c.h>
 #include <linux/io.h>
 #include <linux/delay.h>
-#include <linux/export.h>
 
 #include "mb862xxfb.h"
 #include "mb862xx_reg.h"
-- 
2.49.0


^ permalink raw reply related

* [PATCH 06/14] fbdev/matroxfb: Include <linux/export.h>
From: Thomas Zimmermann @ 2025-06-10 10:56 UTC (permalink / raw)
  To: deller, soci, simona, jayalk, linux, FlorianSchandinat, alchark,
	krzk
  Cc: linux-fbdev, dri-devel, linux-arm-kernel, linux-omap,
	Thomas Zimmermann
In-Reply-To: <20250610105948.384540-1-tzimmermann@suse.de>

Fix the compile-time warnings

  drivers/video/fbdev/matrox/g450_pll.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/matrox/matroxfb_DAC1064.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/matrox/matroxfb_Ti3026.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/matrox/matroxfb_accel.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/matrox/matroxfb_base.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/matrox/matroxfb_g450.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/matrox/matroxfb_misc.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/matrox/g450_pll.c         | 2 ++
 drivers/video/fbdev/matrox/matroxfb_DAC1064.c | 1 +
 drivers/video/fbdev/matrox/matroxfb_Ti3026.c  | 1 +
 drivers/video/fbdev/matrox/matroxfb_accel.c   | 2 ++
 drivers/video/fbdev/matrox/matroxfb_base.c    | 1 +
 drivers/video/fbdev/matrox/matroxfb_g450.c    | 2 ++
 drivers/video/fbdev/matrox/matroxfb_misc.c    | 1 +
 7 files changed, 10 insertions(+)

diff --git a/drivers/video/fbdev/matrox/g450_pll.c b/drivers/video/fbdev/matrox/g450_pll.c
index 96996efc9288..e2c1478aa47f 100644
--- a/drivers/video/fbdev/matrox/g450_pll.c
+++ b/drivers/video/fbdev/matrox/g450_pll.c
@@ -14,6 +14,8 @@
  *
  */
 
+#include <linux/export.h>
+
 #include "g450_pll.h"
 #include "matroxfb_DAC1064.h"
 
diff --git a/drivers/video/fbdev/matrox/matroxfb_DAC1064.c b/drivers/video/fbdev/matrox/matroxfb_DAC1064.c
index 99bdcb52ef4b..9a893b70ab19 100644
--- a/drivers/video/fbdev/matrox/matroxfb_DAC1064.c
+++ b/drivers/video/fbdev/matrox/matroxfb_DAC1064.c
@@ -13,6 +13,7 @@
  *
  */
 
+#include <linux/export.h>
 
 #include "matroxfb_DAC1064.h"
 #include "matroxfb_misc.h"
diff --git a/drivers/video/fbdev/matrox/matroxfb_Ti3026.c b/drivers/video/fbdev/matrox/matroxfb_Ti3026.c
index f53b8066e8a5..4eb636cd1f89 100644
--- a/drivers/video/fbdev/matrox/matroxfb_Ti3026.c
+++ b/drivers/video/fbdev/matrox/matroxfb_Ti3026.c
@@ -79,6 +79,7 @@
  *
  */
 
+#include <linux/export.h>
 
 #include "matroxfb_Ti3026.h"
 #include "matroxfb_misc.h"
diff --git a/drivers/video/fbdev/matrox/matroxfb_accel.c b/drivers/video/fbdev/matrox/matroxfb_accel.c
index 52e15dc6f45b..2670db392da2 100644
--- a/drivers/video/fbdev/matrox/matroxfb_accel.c
+++ b/drivers/video/fbdev/matrox/matroxfb_accel.c
@@ -77,6 +77,8 @@
  *
  */
 
+#include <linux/export.h>
+
 #include "matroxfb_accel.h"
 #include "matroxfb_DAC1064.h"
 #include "matroxfb_Ti3026.h"
diff --git a/drivers/video/fbdev/matrox/matroxfb_base.c b/drivers/video/fbdev/matrox/matroxfb_base.c
index 81603ce05a22..5be0cdcd7c71 100644
--- a/drivers/video/fbdev/matrox/matroxfb_base.c
+++ b/drivers/video/fbdev/matrox/matroxfb_base.c
@@ -101,6 +101,7 @@
  */
 
 #include <linux/aperture.h>
+#include <linux/export.h>
 #include <linux/version.h>
 
 #include "matroxfb_base.h"
diff --git a/drivers/video/fbdev/matrox/matroxfb_g450.c b/drivers/video/fbdev/matrox/matroxfb_g450.c
index 86fe757d7761..800c05b70ee3 100644
--- a/drivers/video/fbdev/matrox/matroxfb_g450.c
+++ b/drivers/video/fbdev/matrox/matroxfb_g450.c
@@ -13,6 +13,8 @@
  *
  */
 
+#include <linux/export.h>
+
 #include "matroxfb_base.h"
 #include "matroxfb_misc.h"
 #include "matroxfb_DAC1064.h"
diff --git a/drivers/video/fbdev/matrox/matroxfb_misc.c b/drivers/video/fbdev/matrox/matroxfb_misc.c
index 3fe99214c116..2c5f0099532b 100644
--- a/drivers/video/fbdev/matrox/matroxfb_misc.c
+++ b/drivers/video/fbdev/matrox/matroxfb_misc.c
@@ -85,6 +85,7 @@
  *
  */
 
+#include <linux/export.h>
 
 #include "matroxfb_misc.h"
 #include <linux/interrupt.h>
-- 
2.49.0


^ permalink raw reply related

* [PATCH 09/14] fbdev/omap2: Do not include <linux/export.h>
From: Thomas Zimmermann @ 2025-06-10 10:56 UTC (permalink / raw)
  To: deller, soci, simona, jayalk, linux, FlorianSchandinat, alchark,
	krzk
  Cc: linux-fbdev, dri-devel, linux-arm-kernel, linux-omap,
	Thomas Zimmermann
In-Reply-To: <20250610105948.384540-1-tzimmermann@suse.de>

Fix the compile-time warnings

  drivers/video/fbdev/omap2/omapfb/dss/dpi.c: warning: EXPORT_SYMBOL() is not used, but #include <linux/export.h> is present
  drivers/video/fbdev/omap2/omapfb/dss/sdi.c: warning: EXPORT_SYMBOL() is not used, but #include <linux/export.h> is present
  drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c: warning: EXPORT_SYMBOL() is not used, but #include <linux/export.h> is present

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/omap2/omapfb/dss/dpi.c      | 1 -
 drivers/video/fbdev/omap2/omapfb/dss/sdi.c      | 1 -
 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c | 1 -
 3 files changed, 3 deletions(-)

diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dpi.c b/drivers/video/fbdev/omap2/omapfb/dss/dpi.c
index 86ed4c077c30..ad8ae1727966 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/dpi.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/dpi.c
@@ -13,7 +13,6 @@
 
 #include <linux/kernel.h>
 #include <linux/delay.h>
-#include <linux/export.h>
 #include <linux/err.h>
 #include <linux/errno.h>
 #include <linux/platform_device.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/sdi.c b/drivers/video/fbdev/omap2/omapfb/dss/sdi.c
index 2d3e5d4467c5..68e569ec0f83 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/sdi.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/sdi.c
@@ -12,7 +12,6 @@
 #include <linux/delay.h>
 #include <linux/err.h>
 #include <linux/regulator/consumer.h>
-#include <linux/export.h>
 #include <linux/platform_device.h>
 #include <linux/string.h>
 #include <linux/of.h>
diff --git a/drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c b/drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c
index ea8c88aa4477..152dbeaa6451 100644
--- a/drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c
+++ b/drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c
@@ -16,7 +16,6 @@
 #include <linux/mm.h>
 #include <linux/omapfb.h>
 #include <linux/vmalloc.h>
-#include <linux/export.h>
 #include <linux/sizes.h>
 
 #include <video/omapfb_dss.h>
-- 
2.49.0


^ permalink raw reply related

* [PATCH 12/14] fbdev/sisfb: Unexport symbols
From: Thomas Zimmermann @ 2025-06-10 10:56 UTC (permalink / raw)
  To: deller, soci, simona, jayalk, linux, FlorianSchandinat, alchark,
	krzk
  Cc: linux-fbdev, dri-devel, linux-arm-kernel, linux-omap,
	Thomas Zimmermann
In-Reply-To: <20250610105948.384540-1-tzimmermann@suse.de>

Fix the compile-time warning

  drivers/video/fbdev/sis/sis_main.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing

The affected symbols are not used outside of their module.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/sis/sis_main.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/drivers/video/fbdev/sis/sis_main.c b/drivers/video/fbdev/sis/sis_main.c
index 75033e6be15a..1802d109d8f2 100644
--- a/drivers/video/fbdev/sis/sis_main.c
+++ b/drivers/video/fbdev/sis/sis_main.c
@@ -6832,12 +6832,3 @@ MODULE_PARM_DESC(videoram,
 #endif
 
 #endif 	   /*  /MODULE  */
-
-/* _GPL only for new symbols. */
-EXPORT_SYMBOL(sis_malloc);
-EXPORT_SYMBOL(sis_free);
-EXPORT_SYMBOL_GPL(sis_malloc_new);
-EXPORT_SYMBOL_GPL(sis_free_new);
-
-
-
-- 
2.49.0


^ permalink raw reply related

* [PATCH 11/14] fbdev/pxafb: Unexport symbol
From: Thomas Zimmermann @ 2025-06-10 10:56 UTC (permalink / raw)
  To: deller, soci, simona, jayalk, linux, FlorianSchandinat, alchark,
	krzk
  Cc: linux-fbdev, dri-devel, linux-arm-kernel, linux-omap,
	Thomas Zimmermann
In-Reply-To: <20250610105948.384540-1-tzimmermann@suse.de>

Fix the compile-time warning

  drivers/video/fbdev/pxafb.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing

The affected symbol is not used outside of its module.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/pxafb.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/video/fbdev/pxafb.c b/drivers/video/fbdev/pxafb.c
index ee6da5084242..f15310bf94cf 100644
--- a/drivers/video/fbdev/pxafb.c
+++ b/drivers/video/fbdev/pxafb.c
@@ -1058,7 +1058,6 @@ unsigned long pxafb_get_hsync_time(struct device *dev)
 
 	return fbi->hsync_time;
 }
-EXPORT_SYMBOL(pxafb_get_hsync_time);
 
 static int setup_frame_dma(struct pxafb_info *fbi, int dma, int pal,
 			   unsigned long start, size_t size)
-- 
2.49.0


^ permalink raw reply related

* [PATCH 13/14] fbdev/viafb: Include <linux/export.h>
From: Thomas Zimmermann @ 2025-06-10 10:56 UTC (permalink / raw)
  To: deller, soci, simona, jayalk, linux, FlorianSchandinat, alchark,
	krzk
  Cc: linux-fbdev, dri-devel, linux-arm-kernel, linux-omap,
	Thomas Zimmermann
In-Reply-To: <20250610105948.384540-1-tzimmermann@suse.de>

Fix the compile-time warnings

  drivers/video/fbdev/via/via-core.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
  drivers/video/fbdev/via/via_i2c.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/via/via-core.c | 1 +
 drivers/video/fbdev/via/via_i2c.c  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/video/fbdev/via/via-core.c b/drivers/video/fbdev/via/via-core.c
index 908524a74a38..a8d4a3e2c65e 100644
--- a/drivers/video/fbdev/via/via-core.c
+++ b/drivers/video/fbdev/via/via-core.c
@@ -9,6 +9,7 @@
  * Core code for the Via multifunction framebuffer device.
  */
 #include <linux/aperture.h>
+#include <linux/export.h>
 #include <linux/via-core.h>
 #include <linux/via_i2c.h>
 #include "via-gpio.h"
diff --git a/drivers/video/fbdev/via/via_i2c.c b/drivers/video/fbdev/via/via_i2c.c
index cdbd7a9b8817..42c378425586 100644
--- a/drivers/video/fbdev/via/via_i2c.c
+++ b/drivers/video/fbdev/via/via_i2c.c
@@ -7,6 +7,7 @@
 
 #include <linux/platform_device.h>
 #include <linux/delay.h>
+#include <linux/export.h>
 #include <linux/spinlock.h>
 #include <linux/module.h>
 #include <linux/via-core.h>
-- 
2.49.0


^ permalink raw reply related

* [PATCH 14/14] fbdev/viafb: Do not include <linux/export.h>
From: Thomas Zimmermann @ 2025-06-10 10:56 UTC (permalink / raw)
  To: deller, soci, simona, jayalk, linux, FlorianSchandinat, alchark,
	krzk
  Cc: linux-fbdev, dri-devel, linux-arm-kernel, linux-omap,
	Thomas Zimmermann
In-Reply-To: <20250610105948.384540-1-tzimmermann@suse.de>

Fix the compile-time warning

  drivers/video/fbdev/via/via-gpio.c: warning: EXPORT_SYMBOL() is not used, but #include <linux/export.h> is present

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/video/fbdev/via/via-gpio.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/video/fbdev/via/via-gpio.c b/drivers/video/fbdev/via/via-gpio.c
index 27226a8f3f42..72302384bf77 100644
--- a/drivers/video/fbdev/via/via-gpio.c
+++ b/drivers/video/fbdev/via/via-gpio.c
@@ -10,7 +10,6 @@
 #include <linux/gpio/machine.h>
 #include <linux/platform_device.h>
 #include <linux/via-core.h>
-#include <linux/export.h>
 #include "via-gpio.h"
 
 /*
-- 
2.49.0


^ permalink raw reply related

* [PATCH] [v2] staging: fbtft: reduce stack usage
From: Arnd Bergmann @ 2025-06-10 11:23 UTC (permalink / raw)
  To: Andy Shevchenko, Greg Kroah-Hartman
  Cc: Arnd Bergmann, Riyan Dhiman, Thomas Zimmermann, dri-devel,
	linux-fbdev, linux-staging, linux-kernel

From: Arnd Bergmann <arnd@arndb.de>

The use of vararg function pointers combined with a huge number of
arguments causes some configurations to exceed the stack size warning
limit:

drivers/staging/fbtft/fbtft-core.c:863:12: error: stack frame size (1512) exceeds limit (1280) in 'fbtft_init_display_from_property' [-Werror,-Wframe-larger-than]

drivers/staging/fbtft/fb_ssd1331.c:131:30: error: stack frame size (1392) exceeds limit (1280) in 'set_gamma' [-Werror,-Wframe-larger-than]
                  ^
drivers/staging/fbtft/fb_ssd1351.c:120:30: error: stack frame size (1392) exceeds limit (1280) in 'set_gamma' [-Werror,-Wframe-larger-than]

Move the varargs handling into a separate noinline function so each
individual function stays below the limit. A better approach might be to
replace the varargs function with one that takes an array of arguments,
but that would be a much larger rework of the other callers.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
v2: use u32 types consistently, suggested by Andy Shevchenko
---
 drivers/staging/fbtft/fb_ssd1331.c | 36 ++++++++++++------
 drivers/staging/fbtft/fb_ssd1351.c | 42 +++++++++++---------
 drivers/staging/fbtft/fbtft-core.c | 61 +++++++++++++-----------------
 3 files changed, 74 insertions(+), 65 deletions(-)

diff --git a/drivers/staging/fbtft/fb_ssd1331.c b/drivers/staging/fbtft/fb_ssd1331.c
index 06b7056d6c71..f43ee3249175 100644
--- a/drivers/staging/fbtft/fb_ssd1331.c
+++ b/drivers/staging/fbtft/fb_ssd1331.c
@@ -107,6 +107,28 @@ static void write_reg8_bus8(struct fbtft_par *par, int len, ...)
 	va_end(args);
 }
 
+static noinline_for_stack void write_gamma_reg(struct fbtft_par *par,
+					       u32 gamma[63])
+{
+	write_reg(par, 0xB8,
+		  gamma[0],  gamma[1],  gamma[2],  gamma[3],
+		  gamma[4],  gamma[5],  gamma[6],  gamma[7],
+		  gamma[8],  gamma[9],  gamma[10], gamma[11],
+		  gamma[12], gamma[13], gamma[14], gamma[15],
+		  gamma[16], gamma[17], gamma[18], gamma[19],
+		  gamma[20], gamma[21], gamma[22], gamma[23],
+		  gamma[24], gamma[25], gamma[26], gamma[27],
+		  gamma[28], gamma[29], gamma[30], gamma[31],
+		  gamma[32], gamma[33], gamma[34], gamma[35],
+		  gamma[36], gamma[37], gamma[38], gamma[39],
+		  gamma[40], gamma[41], gamma[42], gamma[43],
+		  gamma[44], gamma[45], gamma[46], gamma[47],
+		  gamma[48], gamma[49], gamma[50], gamma[51],
+		  gamma[52], gamma[53], gamma[54], gamma[55],
+		  gamma[56], gamma[57], gamma[58], gamma[59],
+		  gamma[60], gamma[61], gamma[62]);
+}
+
 /*
  * Grayscale Lookup Table
  * GS1 - GS63
@@ -130,7 +152,7 @@ static void write_reg8_bus8(struct fbtft_par *par, int len, ...)
  */
 static int set_gamma(struct fbtft_par *par, u32 *curves)
 {
-	unsigned long tmp[GAMMA_NUM * GAMMA_LEN];
+	u32 tmp[GAMMA_NUM * GAMMA_LEN];
 	int i, acc = 0;
 
 	for (i = 0; i < 63; i++) {
@@ -150,17 +172,7 @@ static int set_gamma(struct fbtft_par *par, u32 *curves)
 		}
 	}
 
-	write_reg(par, 0xB8,
-		  tmp[0], tmp[1], tmp[2], tmp[3], tmp[4], tmp[5], tmp[6],
-		  tmp[7], tmp[8], tmp[9], tmp[10], tmp[11], tmp[12], tmp[13],
-		  tmp[14], tmp[15], tmp[16], tmp[17], tmp[18], tmp[19], tmp[20],
-		  tmp[21], tmp[22], tmp[23], tmp[24], tmp[25], tmp[26],	tmp[27],
-		  tmp[28], tmp[29], tmp[30], tmp[31], tmp[32], tmp[33], tmp[34],
-		  tmp[35], tmp[36], tmp[37], tmp[38], tmp[39], tmp[40], tmp[41],
-		  tmp[42], tmp[43], tmp[44], tmp[45], tmp[46], tmp[47], tmp[48],
-		  tmp[49], tmp[50], tmp[51], tmp[52], tmp[53], tmp[54], tmp[55],
-		  tmp[56], tmp[57], tmp[58], tmp[59], tmp[60], tmp[61],
-		  tmp[62]);
+	write_gamma_reg(par, tmp);
 
 	return 0;
 }
diff --git a/drivers/staging/fbtft/fb_ssd1351.c b/drivers/staging/fbtft/fb_ssd1351.c
index 6736b09b2f45..eb8bee6993c3 100644
--- a/drivers/staging/fbtft/fb_ssd1351.c
+++ b/drivers/staging/fbtft/fb_ssd1351.c
@@ -96,6 +96,28 @@ static int set_var(struct fbtft_par *par)
 	return 0;
 }
 
+static noinline_for_stack void write_gamma_reg(struct fbtft_par *par,
+					       u32 gamma[63])
+{
+	write_reg(par, 0xB8,
+		  gamma[0],  gamma[1],  gamma[2],  gamma[3],
+		  gamma[4],  gamma[5],  gamma[6],  gamma[7],
+		  gamma[8],  gamma[9],  gamma[10], gamma[11],
+		  gamma[12], gamma[13], gamma[14], gamma[15],
+		  gamma[16], gamma[17], gamma[18], gamma[19],
+		  gamma[20], gamma[21], gamma[22], gamma[23],
+		  gamma[24], gamma[25], gamma[26], gamma[27],
+		  gamma[28], gamma[29], gamma[30], gamma[31],
+		  gamma[32], gamma[33], gamma[34], gamma[35],
+		  gamma[36], gamma[37], gamma[38], gamma[39],
+		  gamma[40], gamma[41], gamma[42], gamma[43],
+		  gamma[44], gamma[45], gamma[46], gamma[47],
+		  gamma[48], gamma[49], gamma[50], gamma[51],
+		  gamma[52], gamma[53], gamma[54], gamma[55],
+		  gamma[56], gamma[57], gamma[58], gamma[59],
+		  gamma[60], gamma[61], gamma[62]);
+}
+
 /*
  * Grayscale Lookup Table
  * GS1 - GS63
@@ -119,7 +141,7 @@ static int set_var(struct fbtft_par *par)
  */
 static int set_gamma(struct fbtft_par *par, u32 *curves)
 {
-	unsigned long tmp[GAMMA_NUM * GAMMA_LEN];
+	u32 tmp[GAMMA_NUM * GAMMA_LEN];
 	int i, acc = 0;
 
 	for (i = 0; i < 63; i++) {
@@ -139,23 +161,7 @@ static int set_gamma(struct fbtft_par *par, u32 *curves)
 		}
 	}
 
-	write_reg(par, 0xB8,
-		  tmp[0],  tmp[1],  tmp[2],  tmp[3],
-		  tmp[4],  tmp[5],  tmp[6],  tmp[7],
-		  tmp[8],  tmp[9],  tmp[10], tmp[11],
-		  tmp[12], tmp[13], tmp[14], tmp[15],
-		  tmp[16], tmp[17], tmp[18], tmp[19],
-		  tmp[20], tmp[21], tmp[22], tmp[23],
-		  tmp[24], tmp[25], tmp[26], tmp[27],
-		  tmp[28], tmp[29], tmp[30], tmp[31],
-		  tmp[32], tmp[33], tmp[34], tmp[35],
-		  tmp[36], tmp[37], tmp[38], tmp[39],
-		  tmp[40], tmp[41], tmp[42], tmp[43],
-		  tmp[44], tmp[45], tmp[46], tmp[47],
-		  tmp[48], tmp[49], tmp[50], tmp[51],
-		  tmp[52], tmp[53], tmp[54], tmp[55],
-		  tmp[56], tmp[57], tmp[58], tmp[59],
-		  tmp[60], tmp[61], tmp[62]);
+	write_gamma_reg(par, tmp);
 
 	return 0;
 }
diff --git a/drivers/staging/fbtft/fbtft-core.c b/drivers/staging/fbtft/fbtft-core.c
index da9c64152a60..231cc6d7343c 100644
--- a/drivers/staging/fbtft/fbtft-core.c
+++ b/drivers/staging/fbtft/fbtft-core.c
@@ -833,6 +833,28 @@ int fbtft_unregister_framebuffer(struct fb_info *fb_info)
 }
 EXPORT_SYMBOL(fbtft_unregister_framebuffer);
 
+static noinline_for_stack void fbtft_write_register_64(struct fbtft_par *par,
+							int i, u32 buf[64])
+{
+	par->fbtftops.write_register(par, i,
+		buf[0], buf[1], buf[2], buf[3],
+		buf[4], buf[5], buf[6], buf[7],
+		buf[8], buf[9], buf[10], buf[11],
+		buf[12], buf[13], buf[14], buf[15],
+		buf[16], buf[17], buf[18], buf[19],
+		buf[20], buf[21], buf[22], buf[23],
+		buf[24], buf[25], buf[26], buf[27],
+		buf[28], buf[29], buf[30], buf[31],
+		buf[32], buf[33], buf[34], buf[35],
+		buf[36], buf[37], buf[38], buf[39],
+		buf[40], buf[41], buf[42], buf[43],
+		buf[44], buf[45], buf[46], buf[47],
+		buf[48], buf[49], buf[50], buf[51],
+		buf[52], buf[53], buf[54], buf[55],
+		buf[56], buf[57], buf[58], buf[59],
+		buf[60], buf[61], buf[62], buf[63]);
+}
+
 /**
  * fbtft_init_display_from_property() - Device Tree init_display() function
  * @par: Driver data
@@ -842,7 +864,7 @@ EXPORT_SYMBOL(fbtft_unregister_framebuffer);
 static int fbtft_init_display_from_property(struct fbtft_par *par)
 {
 	struct device *dev = par->info->device;
-	int buf[64], count, index, i, j, ret;
+	u32 buf[64], count, index, i, j, ret;
 	u32 *values;
 	u32 val;
 
@@ -887,23 +909,8 @@ static int fbtft_init_display_from_property(struct fbtft_par *par)
 				fbtft_par_dbg(DEBUG_INIT_DISPLAY, par,
 					      "buf[%d] = %02X\n", j, buf[j]);
 
-			par->fbtftops.write_register(par, i,
-				buf[0], buf[1], buf[2], buf[3],
-				buf[4], buf[5], buf[6], buf[7],
-				buf[8], buf[9], buf[10], buf[11],
-				buf[12], buf[13], buf[14], buf[15],
-				buf[16], buf[17], buf[18], buf[19],
-				buf[20], buf[21], buf[22], buf[23],
-				buf[24], buf[25], buf[26], buf[27],
-				buf[28], buf[29], buf[30], buf[31],
-				buf[32], buf[33], buf[34], buf[35],
-				buf[36], buf[37], buf[38], buf[39],
-				buf[40], buf[41], buf[42], buf[43],
-				buf[44], buf[45], buf[46], buf[47],
-				buf[48], buf[49], buf[50], buf[51],
-				buf[52], buf[53], buf[54], buf[55],
-				buf[56], buf[57], buf[58], buf[59],
-				buf[60], buf[61], buf[62], buf[63]);
+			fbtft_write_register_64(par, i, buf);
+
 		} else if (val & FBTFT_OF_INIT_DELAY) {
 			fbtft_par_dbg(DEBUG_INIT_DISPLAY, par,
 				      "init: msleep(%u)\n", val & 0xFFFF);
@@ -996,23 +1003,7 @@ int fbtft_init_display(struct fbtft_par *par)
 				}
 				buf[j++] = par->init_sequence[i++];
 			}
-			par->fbtftops.write_register(par, j,
-				buf[0], buf[1], buf[2], buf[3],
-				buf[4], buf[5], buf[6], buf[7],
-				buf[8], buf[9], buf[10], buf[11],
-				buf[12], buf[13], buf[14], buf[15],
-				buf[16], buf[17], buf[18], buf[19],
-				buf[20], buf[21], buf[22], buf[23],
-				buf[24], buf[25], buf[26], buf[27],
-				buf[28], buf[29], buf[30], buf[31],
-				buf[32], buf[33], buf[34], buf[35],
-				buf[36], buf[37], buf[38], buf[39],
-				buf[40], buf[41], buf[42], buf[43],
-				buf[44], buf[45], buf[46], buf[47],
-				buf[48], buf[49], buf[50], buf[51],
-				buf[52], buf[53], buf[54], buf[55],
-				buf[56], buf[57], buf[58], buf[59],
-				buf[60], buf[61], buf[62], buf[63]);
+			fbtft_write_register_64(par, j, buf);
 			break;
 		case -2:
 			i++;
-- 
2.39.5


^ permalink raw reply related

* Re: [PATCH] [v2] staging: fbtft: reduce stack usage
From: Arnd Bergmann @ 2025-06-10 11:26 UTC (permalink / raw)
  To: Arnd Bergmann, Andy Shevchenko, Greg Kroah-Hartman
  Cc: Riyan Dhiman, Thomas Zimmermann, dri-devel, linux-fbdev,
	linux-staging, linux-kernel
In-Reply-To: <20250610112357.3306246-1-arnd@kernel.org>

On Tue, Jun 10, 2025, at 13:23, Arnd Bergmann wrote:

>  {
>  	struct device *dev = par->info->device;
> -	int buf[64], count, index, i, j, ret;
> +	u32 buf[64], count, index, i, j, ret;
>  	u32 *values;
>  	u32 val;
> 

I was too quick to update this one, please ignore v2 and
wait for v3 after I've tested it some more with the (hopefully)
correct version:

@@ -842,7 +864,8 @@ EXPORT_SYMBOL(fbtft_unregister_framebuffer);
 static int fbtft_init_display_from_property(struct fbtft_par *par)
 {
        struct device *dev = par->info->device;
-       int buf[64], count, index, i, j, ret;
+       int count, index, i, j, ret;
+       u32 buf[64];
        u32 *values;
        u32 val;


     Arnd

^ permalink raw reply

* WTS Available laptops and Memory
From: Exceptional One PC @ 2025-06-10 14:54 UTC (permalink / raw)
  To: linux-fbdev

Hello,

Looking for a buyer to move any of the following Items located in USA.


Used MICRON SSD 7300 PRO 3.84TB 
U.2 HTFDHBE3T8TDF SSD 2.5" NVMe 3480GB
Quantity 400, price $100 EACH 


 005052112 _ 7.68TB HDD -$200 PER w/ caddies refurbished 
 Quantity 76, price $100



Brand New CISCO C9300-48UXM-E
Available 5
$2000 EACH


Brand New C9200L-48T-4X-E
$1,200 EACH
QTY4

HP 1040G3 Elite Book Folio Processor :- Intel Core i5
◻Processor :- Intel Core i5
◻Generation :- 6th
◻RAM :- 16GB
◻Storage :- 256G SSD
◻Display :- 14 inch" Touch Screen 
QTY 340 $90 EA



SK HYNIX 16GB 2RX4 PC4 - 2133P-RAO-10
HMA42GR7AFR4N-TF TD AB 1526
QTY560 $20 EA


Xeon Gold 6442Y (60M Cache, 2.60 GHz)	
 PK8071305120500	 
 QTY670 700 each 


SAMSUNG 64GB 4DRX4 PC4-2666V-LD2-12-MAO
M386A8K40BM2-CTD60 S
QTY 320 $42 each



Brand New CISCO C9300-48UXM-E
Available 5
$2500 EACH


Core i3-1315U (10M Cache, up to 4.50 GHz)	
 FJ8071505258601
QTY50  $80 EA

Intel Xeon Gold 5418Y Processors
QTY28 $780 each


Brand New C9200L-48T-4X-E  
$1000 EACH
QTY4


Brand New Gigabyte NVIDIA GeForce RTX 5090 AORUS
MASTER OC Graphics Card GPU 32GB GDDR7
QTY50 $1,300


 Brand New N9K-C93108TC-FX-24 Nexus
9300-FX w/ 24p 100M/1/10GT & 6p 40/100G
Available 4
$3000 each



Brand New NVIDIA GeForce RTX 4090 Founders
Edition 24GB - QTY: 56 - $700 each




Charles Lawson
Exceptional One PC
3645 Central Ave, Riverside
CA 92506, United States
www.exceptionalonepc.com
info@exceptionalonepc.com
Office: (951)-556-3104


^ permalink raw reply

* Re: [PATCH 11/14] fbdev/pxafb: Unexport symbol
From: Helge Deller @ 2025-06-10 19:48 UTC (permalink / raw)
  To: Thomas Zimmermann, soci, simona, linux, FlorianSchandinat,
	alchark, krzk
  Cc: linux-fbdev, dri-devel, linux-arm-kernel, linux-omap
In-Reply-To: <20250610105948.384540-12-tzimmermann@suse.de>

On 6/10/25 12:56, Thomas Zimmermann wrote:
> Fix the compile-time warning
> 
>    drivers/video/fbdev/pxafb.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
> 
> The affected symbol is not used outside of its module.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>   drivers/video/fbdev/pxafb.c | 1 -
>   1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/video/fbdev/pxafb.c b/drivers/video/fbdev/pxafb.c
> index ee6da5084242..f15310bf94cf 100644
> --- a/drivers/video/fbdev/pxafb.c
> +++ b/drivers/video/fbdev/pxafb.c
> @@ -1058,7 +1058,6 @@ unsigned long pxafb_get_hsync_time(struct device *dev)
>   
>   	return fbi->hsync_time;
>   }
> -EXPORT_SYMBOL(pxafb_get_hsync_time);

True, the function does not seem to be used anywhere (at least not any longer).
A comment in the file says:
  * Some touchscreens need hsync information from the video driver to
  * function correctly.
Not sure if such touchscreen drivers still exist, but they don't seem
to be in-kernel.

So, if we clean up here, maybe you should then simply remove the whole
function and the reference to it in the header file too?

Helge

^ permalink raw reply

* Re: [PATCH 01/14] fbdev: Remove trailing whitespaces
From: Helge Deller @ 2025-06-10 19:53 UTC (permalink / raw)
  To: Thomas Zimmermann, soci, simona, linux, FlorianSchandinat,
	alchark, krzk
  Cc: linux-fbdev, dri-devel
In-Reply-To: <20250610105948.384540-2-tzimmermann@suse.de>

On 6/10/25 12:56, Thomas Zimmermann wrote:
> Fix coding style.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>   drivers/video/fbdev/macmodes.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Helge Deller <deller@gmx.de>

^ permalink raw reply

* Re: [PATCH 02/14] fbdev: Include <linux/export.h>
From: Helge Deller @ 2025-06-10 19:58 UTC (permalink / raw)
  To: Thomas Zimmermann, soci, simona; +Cc: linux-fbdev, dri-devel
In-Reply-To: <20250610105948.384540-3-tzimmermann@suse.de>

On 6/10/25 12:56, Thomas Zimmermann wrote:
> Fix the compile-time warnings
> 
>    drivers/video/fbdev/core/cfbcopyarea.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/cfbfillrect.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/cfbimgblt.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/fb_ddc.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/fb_defio.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/fb_io_fops.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/fb_sys_fops.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/fbcmap.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/fbcon.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/fbmon.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/modedb.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/svgalib.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/syscopyarea.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/sysfillrect.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/core/sysimgblt.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/macmodes.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/sbuslib.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/wmt_ge_rops.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>   drivers/video/fbdev/core/cfbcopyarea.c | 2 ++
>   drivers/video/fbdev/core/cfbfillrect.c | 2 ++
>   drivers/video/fbdev/core/cfbimgblt.c   | 2 ++
>   drivers/video/fbdev/core/fb_ddc.c      | 1 +
>   drivers/video/fbdev/core/fb_defio.c    | 1 +
>   drivers/video/fbdev/core/fb_io_fops.c  | 1 +
>   drivers/video/fbdev/core/fb_sys_fops.c | 2 ++
>   drivers/video/fbdev/core/fbcmap.c      | 1 +
>   drivers/video/fbdev/core/fbcon.c       | 1 +
>   drivers/video/fbdev/core/fbmon.c       | 2 ++
>   drivers/video/fbdev/core/modedb.c      | 1 +
>   drivers/video/fbdev/core/svgalib.c     | 1 +
>   drivers/video/fbdev/core/syscopyarea.c | 2 ++
>   drivers/video/fbdev/core/sysfillrect.c | 2 ++
>   drivers/video/fbdev/core/sysimgblt.c   | 2 ++
>   drivers/video/fbdev/macmodes.c         | 1 +
>   drivers/video/fbdev/sbuslib.c          | 1 +
>   drivers/video/fbdev/wmt_ge_rops.c      | 1 +
>   18 files changed, 26 insertions(+)

Reviewed-by: Helge Deller <deller@gmx.de>

I wonder why this shows up for you but not for me...

Helge

^ permalink raw reply

* Re: [PATCH 03/14] fbdev/c2p: Include <linux/export.h>
From: Helge Deller @ 2025-06-10 19:59 UTC (permalink / raw)
  To: Thomas Zimmermann; +Cc: linux-fbdev, dri-devel
In-Reply-To: <20250610105948.384540-4-tzimmermann@suse.de>

On 6/10/25 12:56, Thomas Zimmermann wrote:
> Fix the compile-time warnings
> 
>    drivers/video/fbdev/c2p_iplan2.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/c2p_planar.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>   drivers/video/fbdev/c2p_iplan2.c | 1 +
>   drivers/video/fbdev/c2p_planar.c | 1 +
>   2 files changed, 2 insertions(+)

Reviewed-by: Helge Deller <deller@gmx.de>

^ permalink raw reply

* Re: [PATCH 04/14] fbdev/cyber2000fb: Unexport symbols
From: Helge Deller @ 2025-06-10 20:10 UTC (permalink / raw)
  To: Thomas Zimmermann; +Cc: linux-fbdev, dri-devel
In-Reply-To: <20250610105948.384540-5-tzimmermann@suse.de>

On 6/10/25 12:56, Thomas Zimmermann wrote:
> Fix the compile-time warning
> 
>    drivers/video/fbdev/cyber2000fb.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
> 
> The affected symbols are not used outside of their module.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>   drivers/video/fbdev/cyber2000fb.c | 4 ----
>   1 file changed, 4 deletions(-)


Seems those functions were used for some capture card/tv driver
functionality in the past.
Maybe we should simply remove those functions today?

Helge

> 
> diff --git a/drivers/video/fbdev/cyber2000fb.c b/drivers/video/fbdev/cyber2000fb.c
> index 986760b90465..fcc565b2d98c 100644
> --- a/drivers/video/fbdev/cyber2000fb.c
> +++ b/drivers/video/fbdev/cyber2000fb.c
> @@ -1089,7 +1089,6 @@ void cyber2000fb_enable_extregs(struct cfb_info *cfb)
>   		cyber2000_grphw(EXT_FUNC_CTL, old, cfb);
>   	}
>   }
> -EXPORT_SYMBOL(cyber2000fb_enable_extregs);
>   
>   /*
>    * Disable access to the extended registers
> @@ -1109,7 +1108,6 @@ void cyber2000fb_disable_extregs(struct cfb_info *cfb)
>   	else
>   		cfb->func_use_count -= 1;
>   }
> -EXPORT_SYMBOL(cyber2000fb_disable_extregs);
>   
>   /*
>    * Attach a capture/tv driver to the core CyberX0X0 driver.
> @@ -1135,7 +1133,6 @@ int cyber2000fb_attach(struct cyberpro_info *info, int idx)
>   
>   	return int_cfb_info != NULL;
>   }
> -EXPORT_SYMBOL(cyber2000fb_attach);
>   
>   /*
>    * Detach a capture/tv driver from the core CyberX0X0 driver.
> @@ -1143,7 +1140,6 @@ EXPORT_SYMBOL(cyber2000fb_attach);
>   void cyber2000fb_detach(int idx)
>   {
>   }
> -EXPORT_SYMBOL(cyber2000fb_detach);
>   
>   #ifdef CONFIG_FB_CYBER2000_DDC
>   


^ permalink raw reply

* Re: [PATCH 05/14] fbdev/matroxfb: Remove trailing whitespaces
From: Helge Deller @ 2025-06-10 20:11 UTC (permalink / raw)
  To: Thomas Zimmermann; +Cc: linux-fbdev, dri-devel
In-Reply-To: <20250610105948.384540-6-tzimmermann@suse.de>

On 6/10/25 12:56, Thomas Zimmermann wrote:
> Fix coding style.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>   drivers/video/fbdev/matrox/g450_pll.c         | 24 ++++----
>   drivers/video/fbdev/matrox/matroxfb_DAC1064.c | 46 +++++++-------
>   drivers/video/fbdev/matrox/matroxfb_g450.c    | 60 +++++++++----------
>   drivers/video/fbdev/matrox/matroxfb_misc.c    | 20 +++----
>   4 files changed, 75 insertions(+), 75 deletions(-)

Reviewed-by: Helge Deller <deller@gmx.de>

^ permalink raw reply

* Re: [PATCH 06/14] fbdev/matroxfb: Include <linux/export.h>
From: Helge Deller @ 2025-06-10 20:12 UTC (permalink / raw)
  To: Thomas Zimmermann; +Cc: linux-fbdev, dri-devel
In-Reply-To: <20250610105948.384540-7-tzimmermann@suse.de>

On 6/10/25 12:56, Thomas Zimmermann wrote:
> Fix the compile-time warnings
> 
>    drivers/video/fbdev/matrox/g450_pll.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/matrox/matroxfb_DAC1064.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/matrox/matroxfb_Ti3026.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/matrox/matroxfb_accel.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/matrox/matroxfb_base.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/matrox/matroxfb_g450.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/matrox/matroxfb_misc.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>   drivers/video/fbdev/matrox/g450_pll.c         | 2 ++
>   drivers/video/fbdev/matrox/matroxfb_DAC1064.c | 1 +
>   drivers/video/fbdev/matrox/matroxfb_Ti3026.c  | 1 +
>   drivers/video/fbdev/matrox/matroxfb_accel.c   | 2 ++
>   drivers/video/fbdev/matrox/matroxfb_base.c    | 1 +
>   drivers/video/fbdev/matrox/matroxfb_g450.c    | 2 ++
>   drivers/video/fbdev/matrox/matroxfb_misc.c    | 1 +
>   7 files changed, 10 insertions(+)


Reviewed-by: Helge Deller <deller@gmx.de>

^ permalink raw reply

* Re: [PATCH 07/14] fbdev/omap: Include <linux/export.h>
From: Helge Deller @ 2025-06-10 20:13 UTC (permalink / raw)
  To: Thomas Zimmermann; +Cc: linux-fbdev, dri-devel, linux-arm-kernel
In-Reply-To: <20250610105948.384540-8-tzimmermann@suse.de>

On 6/10/25 12:56, Thomas Zimmermann wrote:
> Fix the compile-time warnings
> 
>    drivers/video/fbdev/omap/lcd_dma.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/omap/lcdc.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
>    drivers/video/fbdev/omap/omapfb_main.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>   drivers/video/fbdev/omap/lcd_dma.c     | 1 +
>   drivers/video/fbdev/omap/lcdc.c        | 2 ++
>   drivers/video/fbdev/omap/omapfb_main.c | 2 ++
>   3 files changed, 5 insertions(+)

Reviewed-by: Helge Deller <deller@gmx.de>

^ permalink raw reply

* Re: [PATCH 02/14] fbdev: Include <linux/export.h>
From: Thomas Zimmermann @ 2025-06-11  7:18 UTC (permalink / raw)
  To: Helge Deller, soci, simona; +Cc: linux-fbdev, dri-devel
In-Reply-To: <a262f5a0-ba63-4692-a84b-216c4bfe5b4d@gmx.de>

Hi

Am 10.06.25 um 21:58 schrieb Helge Deller:
> On 6/10/25 12:56, Thomas Zimmermann wrote:
>> Fix the compile-time warnings
>>
>>    drivers/video/fbdev/core/cfbcopyarea.c: warning: EXPORT_SYMBOL() 
>> is used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/cfbfillrect.c: warning: EXPORT_SYMBOL() 
>> is used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/cfbimgblt.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/fb_ddc.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/fb_defio.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/fb_io_fops.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/fb_sys_fops.c: warning: EXPORT_SYMBOL() 
>> is used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/fbcmap.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/fbcon.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/fbmon.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/modedb.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/svgalib.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/syscopyarea.c: warning: EXPORT_SYMBOL() 
>> is used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/sysfillrect.c: warning: EXPORT_SYMBOL() 
>> is used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/core/sysimgblt.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>    drivers/video/fbdev/macmodes.c: warning: EXPORT_SYMBOL() is used, 
>> but #include <linux/export.h> is missing
>>    drivers/video/fbdev/sbuslib.c: warning: EXPORT_SYMBOL() is used, 
>> but #include <linux/export.h> is missing
>>    drivers/video/fbdev/wmt_ge_rops.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> ---
>>   drivers/video/fbdev/core/cfbcopyarea.c | 2 ++
>>   drivers/video/fbdev/core/cfbfillrect.c | 2 ++
>>   drivers/video/fbdev/core/cfbimgblt.c   | 2 ++
>>   drivers/video/fbdev/core/fb_ddc.c      | 1 +
>>   drivers/video/fbdev/core/fb_defio.c    | 1 +
>>   drivers/video/fbdev/core/fb_io_fops.c  | 1 +
>>   drivers/video/fbdev/core/fb_sys_fops.c | 2 ++
>>   drivers/video/fbdev/core/fbcmap.c      | 1 +
>>   drivers/video/fbdev/core/fbcon.c       | 1 +
>>   drivers/video/fbdev/core/fbmon.c       | 2 ++
>>   drivers/video/fbdev/core/modedb.c      | 1 +
>>   drivers/video/fbdev/core/svgalib.c     | 1 +
>>   drivers/video/fbdev/core/syscopyarea.c | 2 ++
>>   drivers/video/fbdev/core/sysfillrect.c | 2 ++
>>   drivers/video/fbdev/core/sysimgblt.c   | 2 ++
>>   drivers/video/fbdev/macmodes.c         | 1 +
>>   drivers/video/fbdev/sbuslib.c          | 1 +
>>   drivers/video/fbdev/wmt_ge_rops.c      | 1 +
>>   18 files changed, 26 insertions(+)
>
> Reviewed-by: Helge Deller <deller@gmx.de>
>
> I wonder why this shows up for you but not for me...

They show up with v6.16-rc1 when I build with W=1. IDK if there's an 
additional config option involved. It's not just fbdev, the kernel is 
full of them.

Best regards
Thomas

>
> Helge

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)


^ permalink raw reply

* Re: [PATCH 04/14] fbdev/cyber2000fb: Unexport symbols
From: Thomas Zimmermann @ 2025-06-11  7:19 UTC (permalink / raw)
  To: Helge Deller; +Cc: linux-fbdev, dri-devel
In-Reply-To: <7928576a-dffb-4d27-a04b-8257d7f25383@gmx.de>

Hi

Am 10.06.25 um 22:10 schrieb Helge Deller:
> On 6/10/25 12:56, Thomas Zimmermann wrote:
>> Fix the compile-time warning
>>
>>    drivers/video/fbdev/cyber2000fb.c: warning: EXPORT_SYMBOL() is 
>> used, but #include <linux/export.h> is missing
>>
>> The affected symbols are not used outside of their module.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> ---
>>   drivers/video/fbdev/cyber2000fb.c | 4 ----
>>   1 file changed, 4 deletions(-)
>
>
> Seems those functions were used for some capture card/tv driver
> functionality in the past.
> Maybe we should simply remove those functions today?

Good point. I'll go through the series again and remove any unused code.

Best regards
Thomas

>
> Helge
>
>>
>> diff --git a/drivers/video/fbdev/cyber2000fb.c 
>> b/drivers/video/fbdev/cyber2000fb.c
>> index 986760b90465..fcc565b2d98c 100644
>> --- a/drivers/video/fbdev/cyber2000fb.c
>> +++ b/drivers/video/fbdev/cyber2000fb.c
>> @@ -1089,7 +1089,6 @@ void cyber2000fb_enable_extregs(struct cfb_info 
>> *cfb)
>>           cyber2000_grphw(EXT_FUNC_CTL, old, cfb);
>>       }
>>   }
>> -EXPORT_SYMBOL(cyber2000fb_enable_extregs);
>>     /*
>>    * Disable access to the extended registers
>> @@ -1109,7 +1108,6 @@ void cyber2000fb_disable_extregs(struct 
>> cfb_info *cfb)
>>       else
>>           cfb->func_use_count -= 1;
>>   }
>> -EXPORT_SYMBOL(cyber2000fb_disable_extregs);
>>     /*
>>    * Attach a capture/tv driver to the core CyberX0X0 driver.
>> @@ -1135,7 +1133,6 @@ int cyber2000fb_attach(struct cyberpro_info 
>> *info, int idx)
>>         return int_cfb_info != NULL;
>>   }
>> -EXPORT_SYMBOL(cyber2000fb_attach);
>>     /*
>>    * Detach a capture/tv driver from the core CyberX0X0 driver.
>> @@ -1143,7 +1140,6 @@ EXPORT_SYMBOL(cyber2000fb_attach);
>>   void cyber2000fb_detach(int idx)
>>   {
>>   }
>> -EXPORT_SYMBOL(cyber2000fb_detach);
>>     #ifdef CONFIG_FB_CYBER2000_DDC
>

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)


^ permalink raw reply

* [syzbot] Monthly fbdev report (Jun 2025)
From: syzbot @ 2025-06-11  7:46 UTC (permalink / raw)
  To: deller, dri-devel, linux-fbdev, linux-kernel, syzkaller-bugs

Hello fbdev maintainers/developers,

This is a 31-day syzbot report for the fbdev subsystem.
All related reports/information can be found at:
https://syzkaller.appspot.com/upstream/s/fbdev

During the period, 0 new issues were detected and 0 were fixed.
In total, 5 issues are still open and 26 have already been fixed.

Some of the still happening issues:

Ref Crashes Repro Title
<1> 1720    Yes   KASAN: vmalloc-out-of-bounds Write in imageblit (4)
                  https://syzkaller.appspot.com/bug?extid=c4b7aa0513823e2ea880
<2> 146     Yes   KASAN: slab-out-of-bounds Read in fbcon_prepare_logo
                  https://syzkaller.appspot.com/bug?extid=0c815b25cdb3678e7083
<3> 20      Yes   KASAN: global-out-of-bounds Read in bit_putcs (3)
                  https://syzkaller.appspot.com/bug?extid=793cf822d213be1a74f2
<4> 11      No    KASAN: vmalloc-out-of-bounds Write in fillrect
                  https://syzkaller.appspot.com/bug?extid=7a63ce155648954e749b

---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

To disable reminders for individual bugs, reply with the following command:
#syz set <Ref> no-reminders

To change bug's subsystems, reply with:
#syz set <Ref> subsystems: new-subsystem

You may send multiple commands in a single email message.

^ permalink raw reply

* Re: [PATCH] fbdev: pm3fb: Fix potential divide by zero
From: Alex Guo @ 2025-06-11 16:12 UTC (permalink / raw)
  To: geert; +Cc: alexguo1023, deller, dri-devel, linux-fbdev, linux-kernel
In-Reply-To: <CAMuHMdW5wU1ForGOGD-+HDUu7wcnBx3jx911nLEqbJ71t4MBsg@mail.gmail.com>

Hi Greet,

Thanks for your confirmation and suggestions.

I added this patch based on existing checks on var->pixclock in other drivers, such as savagefb_check_var, nvidiafb_check_var, etc.
Are you suggesting that it is better to replace an invalid value (var->pixclock == 0) with a default valid value, instead of returning -EINVAL? If so, could you advise what a suitable default value would be for this case?

Actually, I have found a few similar issues in other functions as well. I would like to make sure I am addressing them in the correct way.

Best,
Alex

^ permalink raw reply

* RE: [PATCH v3 3/4] fbdev/deferred-io: Support contiguous kernel memory framebuffers
From: Michael Kelley @ 2025-06-11 23:18 UTC (permalink / raw)
  To: Thomas Zimmermann, Simona Vetter
  Cc: David Hildenbrand, simona@ffwll.ch, deller@gmx.de,
	haiyangz@microsoft.com, kys@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, akpm@linux-foundation.org, weh@microsoft.com,
	hch@lst.de, dri-devel@lists.freedesktop.org,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-hyperv@vger.kernel.org, linux-mm@kvack.org
In-Reply-To: <SN6PR02MB4157F630284939E084486AFED46FA@SN6PR02MB4157.namprd02.prod.outlook.com>

From: Michael Kelley Sent: Thursday, June 5, 2025 10:39 AM
> 
> From: Thomas Zimmermann <tzimmermann@suse.de> Sent: Thursday, June 5, 2025
> 8:36 AM
> >
> > Hi
> >
> > Am 04.06.25 um 23:43 schrieb Michael Kelley:
> > [...]
> > > Nonetheless, there's an underlying issue. A main cause of the difference
> > > is the number of messages to Hyper-V to update dirty regions. With
> > > hyperv_fb using deferred I/O, the messages are limited 20/second, so
> > > the total number of messages to Hyper-V is about 480. But hyperv_drm
> > > appears to send 3 messages to Hyper-V for each line of output, or a total of
> > > about 3,000,000 messages (~90K/second). That's a lot of additional load
> > > on the Hyper-V host, and it adds the 10 seconds of additional elapsed
> > > time seen in the guest. There also this ugly output in dmesg because the
> > > ring buffer for sending messages to the Hyper-V host gets full -- Hyper-V
> > > doesn't always keep up, at least not on my local laptop where I'm
> > > testing:
> > >
> > > [12574.327615] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm]
> > *ERROR* Unable to send packet via vmbus; error -11
> > > [12574.327684] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm]
> > *ERROR* Unable to send packet via vmbus; error -11
> > > [12574.327760] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm]
> > *ERROR* Unable to send packet via vmbus; error -11
> > > [12574.327841] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm]
> > *ERROR* Unable to send packet via vmbus; error -11
> > > [12597.016128] hyperv_sendpacket: 6211 callbacks suppressed
> > > [12597.016133] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm]
> > *ERROR* Unable to send packet via vmbus; error -11
> > > [12597.016172] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm]
> > *ERROR* Unable to send packet via vmbus; error -11
> > > [12597.016220] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm]
> > *ERROR* Unable to send packet via vmbus; error -11
> > > [12597.016267] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm]
> > *ERROR* Unable to send packet via vmbus; error -11
> > >
> > > hyperv_drm could be fixed to not output the ugly messages, but there's
> > > still the underlying issue of overrunning the ring buffer, and excessively
> > > hammering on the host. If we could get hyperv_drm doing deferred I/O, I
> > > would feel much better about going full-on with deprecating hyperv_fb.
> >
> > I try to address the problem with the patches at
> >
> > https://lore.kernel.org/dri-devel/20250605152637.98493-1-
> tzimmermann@suse.de/
> >
> > Testing and feedback is much appreciated.
> >
> 
> Nice!
> 
> I ran the same test case with your patches, and everything works well. The
> hyperv_drm numbers are now pretty much the same as the hyperv_fb
> numbers for both elapsed time and system CPU time -- within a few percent.
> For hyperv_drm, there's no longer a gap in the elapsed time and system
> CPU time. No errors due to the guest-to-host ring buffer being full. Total
> messages to Hyper-V for hyperv_drm are now a few hundred instead of 3M.
> The hyperv_drm message count is still a little higher than for hyperv_fb,
> presumably because the simulated vblank rate in hyperv_drm is higher than
> the 20 Hz rate used by hyperv_fb deferred I/O. But the overall numbers are
> small enough that the difference is in the noise. Question: what is the default
> value for the simulated vblank rate? Just curious ...
> 

FYI, I'm seeing this message occasionally when running with your simulated
vblank code and hyperv_drm:

[90920.128278] hyperv_drm 5620e0c7-8062-4dce-aeb7-520c7ef76171: [drm] vblank timer overrun

"Occasionally" is about a dozen occurrences over the last day or so. I can't
yet correlate to any particular activity in the VM. The graphics console has
not been very busy.

Michael

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox