* [PATCH v1 0/3] fbdev: au1100fb: support COMPILE_TEST and fix multi-device support
@ 2026-02-04 9:15 Uwe Kleine-König
2026-02-04 9:15 ` [PATCH v1 1/3] fbdev: au1100fb: Mark several local functions as static Uwe Kleine-König
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Uwe Kleine-König @ 2026-02-04 9:15 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
Hello,
In reply to the patch that became commit 0636e6205bee ("fbdev: au1100fb:
Check return value of clk_enable() in .resume()") I pointed out that the
driver uses global data in .suspend() and .resume(). Helge asked Chen if
they want to address it, but up to now there was no reply. So to get
this thread out of my inbox I address the issue here. While working on
that I found another two variables affected and instead of installing a
mips compiler added COMPILE_TEST support (which revealed several
warnings fixed in patch #1 when compiled for ARCH=arm).
Uwe Kleine-König (3):
fbdev: au1100fb: Mark several local functions as static
fbdev: au1100fb: Make driver compilable on non-mips platforms
fbdev: au1100fb: Don't store device specific data in global variables
drivers/video/fbdev/Kconfig | 3 +-
drivers/video/fbdev/au1100fb.c | 86 +++++++++++++++++-----------------
drivers/video/fbdev/au1100fb.h | 7 ++-
3 files changed, 49 insertions(+), 47 deletions(-)
base-commit: 0636e6205beed850d985276dc56fd73d785bea5c
--
2.47.3
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v1 1/3] fbdev: au1100fb: Mark several local functions as static
2026-02-04 9:15 [PATCH v1 0/3] fbdev: au1100fb: support COMPILE_TEST and fix multi-device support Uwe Kleine-König
@ 2026-02-04 9:15 ` Uwe Kleine-König
2026-02-06 11:06 ` Helge Deller
2026-02-04 9:15 ` [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms Uwe Kleine-König
2026-02-04 9:15 ` [PATCH v1 3/3] fbdev: au1100fb: Don't store device specific data in global variables Uwe Kleine-König
2 siblings, 1 reply; 10+ messages in thread
From: Uwe Kleine-König @ 2026-02-04 9:15 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
This fixes several (fatal) compiler warnings à la
drivers/video/fbdev/au1100fb.c:530:6: error: no previous prototype for ‘au1100fb_drv_remove’ [-Werror=missing-prototypes]
523 | void au1100fb_drv_remove(struct platform_device *dev)
| ^~~~~~~~~~~~~~~~~~~
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
drivers/video/fbdev/au1100fb.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c
index feaa1061c436..4df470878b42 100644
--- a/drivers/video/fbdev/au1100fb.c
+++ b/drivers/video/fbdev/au1100fb.c
@@ -135,7 +135,7 @@ static int au1100fb_fb_blank(int blank_mode, struct fb_info *fbi)
* Set hardware with var settings. This will enable the controller with a specific
* mode, normally validated with the fb_check_var method
*/
-int au1100fb_setmode(struct au1100fb_device *fbdev)
+static int au1100fb_setmode(struct au1100fb_device *fbdev)
{
struct fb_info *info;
u32 words;
@@ -234,7 +234,7 @@ int au1100fb_setmode(struct au1100fb_device *fbdev)
/* fb_setcolreg
* Set color in LCD palette.
*/
-int au1100fb_fb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned blue, unsigned transp, struct fb_info *fbi)
+static int au1100fb_fb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned blue, unsigned transp, struct fb_info *fbi)
{
struct au1100fb_device *fbdev;
u32 *palette;
@@ -293,7 +293,7 @@ int au1100fb_fb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned
/* fb_pan_display
* Pan display in x and/or y as specified
*/
-int au1100fb_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *fbi)
+static int au1100fb_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *fbi)
{
struct au1100fb_device *fbdev;
int dy;
@@ -340,7 +340,7 @@ int au1100fb_fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *fbi)
* Map video memory in user space. We don't use the generic fb_mmap method mainly
* to allow the use of the TLB streaming flag (CCA=6)
*/
-int au1100fb_fb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
+static int au1100fb_fb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
{
struct au1100fb_device *fbdev = to_au1100fb_device(fbi);
@@ -522,7 +522,7 @@ static int au1100fb_drv_probe(struct platform_device *dev)
return -ENODEV;
}
-void au1100fb_drv_remove(struct platform_device *dev)
+static void au1100fb_drv_remove(struct platform_device *dev)
{
struct au1100fb_device *fbdev = NULL;
@@ -547,7 +547,7 @@ void au1100fb_drv_remove(struct platform_device *dev)
#ifdef CONFIG_PM
static struct au1100fb_regs fbregs;
-int au1100fb_drv_suspend(struct platform_device *dev, pm_message_t state)
+static int au1100fb_drv_suspend(struct platform_device *dev, pm_message_t state)
{
struct au1100fb_device *fbdev = platform_get_drvdata(dev);
@@ -564,7 +564,7 @@ int au1100fb_drv_suspend(struct platform_device *dev, pm_message_t state)
return 0;
}
-int au1100fb_drv_resume(struct platform_device *dev)
+static int au1100fb_drv_resume(struct platform_device *dev)
{
struct au1100fb_device *fbdev = platform_get_drvdata(dev);
int ret;
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms
2026-02-04 9:15 [PATCH v1 0/3] fbdev: au1100fb: support COMPILE_TEST and fix multi-device support Uwe Kleine-König
2026-02-04 9:15 ` [PATCH v1 1/3] fbdev: au1100fb: Mark several local functions as static Uwe Kleine-König
@ 2026-02-04 9:15 ` Uwe Kleine-König
2026-02-04 14:13 ` kernel test robot
` (2 more replies)
2026-02-04 9:15 ` [PATCH v1 3/3] fbdev: au1100fb: Don't store device specific data in global variables Uwe Kleine-König
2 siblings, 3 replies; 10+ messages in thread
From: Uwe Kleine-König @ 2026-02-04 9:15 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
The header asm/mach-au1x00/au1000.h is unused apart from pulling in
<linux/delay.h> (for mdelay()) and <linux/io.h> (for KSEG1ADDR()). Then
the only platform specific part in the driver is the usage of the KSEG1ADDR
macro, which for the non-mips case can be stubbed.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
drivers/video/fbdev/Kconfig | 3 ++-
drivers/video/fbdev/au1100fb.c | 9 +++++++--
drivers/video/fbdev/au1100fb.h | 2 --
3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 45733522ff48..4514c42db9fa 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1345,7 +1345,8 @@ endchoice
config FB_AU1100
bool "Au1100 LCD Driver"
- depends on (FB = y) && MIPS_ALCHEMY
+ depends on FB
+ depends on MIPS_ALCHEMY || COMPILE_TEST
select FB_IOMEM_HELPERS
help
This is the framebuffer driver for the AMD Au1100 SOC. It can drive
diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c
index 4df470878b42..94514625965b 100644
--- a/drivers/video/fbdev/au1100fb.c
+++ b/drivers/video/fbdev/au1100fb.c
@@ -42,6 +42,8 @@
* 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <linux/clk.h>
+#include <linux/delay.h>
+#include <linux/io.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
@@ -55,12 +57,15 @@
#include <linux/platform_device.h>
#include <linux/slab.h>
-#include <asm/mach-au1x00/au1000.h>
-
#define DEBUG 0
#include "au1100fb.h"
+#if defined(CONFIG_COMPILE_TEST) && !defined(CONFIG_MIPS)
+/* This is only defined to be able to compile this driver on non-mips platforms */
+#define KSEG1ADDR(x) (x)
+#endif
+
#define DRIVER_NAME "au1100fb"
#define DRIVER_DESC "LCD controller driver for AU1100 processors"
diff --git a/drivers/video/fbdev/au1100fb.h b/drivers/video/fbdev/au1100fb.h
index 79f4048726f1..8b29e424d017 100644
--- a/drivers/video/fbdev/au1100fb.h
+++ b/drivers/video/fbdev/au1100fb.h
@@ -30,8 +30,6 @@
#ifndef _AU1100LCD_H
#define _AU1100LCD_H
-#include <asm/mach-au1x00/au1000.h>
-
#define print_err(f, arg...) printk(KERN_ERR DRIVER_NAME ": " f "\n", ## arg)
#define print_warn(f, arg...) printk(KERN_WARNING DRIVER_NAME ": " f "\n", ## arg)
#define print_info(f, arg...) printk(KERN_INFO DRIVER_NAME ": " f "\n", ## arg)
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v1 3/3] fbdev: au1100fb: Don't store device specific data in global variables
2026-02-04 9:15 [PATCH v1 0/3] fbdev: au1100fb: support COMPILE_TEST and fix multi-device support Uwe Kleine-König
2026-02-04 9:15 ` [PATCH v1 1/3] fbdev: au1100fb: Mark several local functions as static Uwe Kleine-König
2026-02-04 9:15 ` [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms Uwe Kleine-König
@ 2026-02-04 9:15 ` Uwe Kleine-König
2 siblings, 0 replies; 10+ messages in thread
From: Uwe Kleine-König @ 2026-02-04 9:15 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
Using global data to store device specific data is a bad pattern that
breaks if there is more than one device. So expand driver data and drop
the global variables.
While there is probably no machine that has two or more au1100fb
devices, this makes the driver a better template for new drivers and
saves some memory if there is no such bound device.
bloat-o-meter reports (for ARCH=arm allmodconfig + CONFIG_FB_AU1100=y
and ignoring the rename of the init function):
add/remove: 1/4 grow/shrink: 2/2 up/down: 1360/-4800 (-3440)
Function old new delta
au1100fb_drv_probe 2648 3328 +680
$a 12808 13484 +676
au1100fb_drv_resume 404 400 -4
au1100fb_fix 68 - -68
au1100fb_var 160 - -160
fbregs 2048 - -2048
$d 9525 7009 -2516
Total: Before=38664, After=35224, chg -8.90%
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
I think this doesn't need a Fixes line, but if you want, it would be:
Fixes: 3b495f2bb749 ("Au1100 FB driver uplift for 2.6.")
Fixes: f77f50ca1a23 ("[PATCH] au1100fb: add power management support")
---
drivers/video/fbdev/au1100fb.c | 63 +++++++++++++++-------------------
drivers/video/fbdev/au1100fb.h | 5 +++
2 files changed, 33 insertions(+), 35 deletions(-)
diff --git a/drivers/video/fbdev/au1100fb.c b/drivers/video/fbdev/au1100fb.c
index 94514625965b..6da532ba1d84 100644
--- a/drivers/video/fbdev/au1100fb.c
+++ b/drivers/video/fbdev/au1100fb.c
@@ -89,21 +89,6 @@ struct fb_bitfield rgb_bitfields[][4] =
{ { 8, 4, 0 }, { 4, 4, 0 }, { 0, 4, 0 }, { 0, 0, 0 } },
};
-static struct fb_fix_screeninfo au1100fb_fix = {
- .id = "AU1100 FB",
- .xpanstep = 1,
- .ypanstep = 1,
- .type = FB_TYPE_PACKED_PIXELS,
- .accel = FB_ACCEL_NONE,
-};
-
-static struct fb_var_screeninfo au1100fb_var = {
- .activate = FB_ACTIVATE_NOW,
- .height = -1,
- .width = -1,
- .vmode = FB_VMODE_NONINTERLACED,
-};
-
/* fb_blank
* Blank the screen. Depending on the mode, the screen will be
* activated with the backlight color, or desactivated
@@ -437,19 +422,26 @@ static int au1100fb_drv_probe(struct platform_device *dev)
return -EFAULT;
}
- au1100fb_fix.mmio_start = regs_res->start;
- au1100fb_fix.mmio_len = resource_size(regs_res);
+ fbdev->info.fix = (struct fb_fix_screeninfo) {
+ .mmio_start = regs_res->start,
+ .mmio_len = resource_size(regs_res),
+ .id = "AU1100 FB",
+ .xpanstep = 1,
+ .ypanstep = 1,
+ .type = FB_TYPE_PACKED_PIXELS,
+ .accel = FB_ACCEL_NONE,
+ };
if (!devm_request_mem_region(&dev->dev,
- au1100fb_fix.mmio_start,
- au1100fb_fix.mmio_len,
+ fbdev->info.fix.mmio_start,
+ fbdev->info.fix.mmio_len,
DRIVER_NAME)) {
print_err("fail to lock memory region at 0x%08lx",
- au1100fb_fix.mmio_start);
+ fbdev->info.fix.mmio_start);
return -EBUSY;
}
- fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(au1100fb_fix.mmio_start);
+ fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(fbdev->info.fix.mmio_start);
print_dbg("Register memory map at %p", fbdev->regs);
print_dbg("phys=0x%08x, size=%d", fbdev->regs_phys, fbdev->regs_len);
@@ -474,22 +466,27 @@ static int au1100fb_drv_probe(struct platform_device *dev)
return -ENOMEM;
}
- au1100fb_fix.smem_start = fbdev->fb_phys;
- au1100fb_fix.smem_len = fbdev->fb_len;
+ fbdev->info.fix.smem_start = fbdev->fb_phys;
+ fbdev->info.fix.smem_len = fbdev->fb_len;
print_dbg("Framebuffer memory map at %p", fbdev->fb_mem);
print_dbg("phys=0x%08x, size=%dK", fbdev->fb_phys, fbdev->fb_len / 1024);
/* load the panel info into the var struct */
- au1100fb_var.bits_per_pixel = fbdev->panel->bpp;
- au1100fb_var.xres = fbdev->panel->xres;
- au1100fb_var.xres_virtual = au1100fb_var.xres;
- au1100fb_var.yres = fbdev->panel->yres;
- au1100fb_var.yres_virtual = au1100fb_var.yres;
+ fbdev->info.var = (struct fb_var_screeninfo) {
+ .activate = FB_ACTIVATE_NOW,
+ .height = -1,
+ .width = -1,
+ .vmode = FB_VMODE_NONINTERLACED,
+ .bits_per_pixel = fbdev->panel->bpp,
+ .xres = fbdev->panel->xres,
+ .xres_virtual = fbdev->panel->xres,
+ .yres = fbdev->panel->yres,
+ .yres_virtual = fbdev->panel->yres,
+ };
fbdev->info.screen_base = fbdev->fb_mem;
fbdev->info.fbops = &au1100fb_ops;
- fbdev->info.fix = au1100fb_fix;
fbdev->info.pseudo_palette =
devm_kcalloc(&dev->dev, 16, sizeof(u32), GFP_KERNEL);
@@ -502,8 +499,6 @@ static int au1100fb_drv_probe(struct platform_device *dev)
return -EFAULT;
}
- fbdev->info.var = au1100fb_var;
-
/* Set h/w registers */
au1100fb_setmode(fbdev);
@@ -550,8 +545,6 @@ static void au1100fb_drv_remove(struct platform_device *dev)
}
#ifdef CONFIG_PM
-static struct au1100fb_regs fbregs;
-
static int au1100fb_drv_suspend(struct platform_device *dev, pm_message_t state)
{
struct au1100fb_device *fbdev = platform_get_drvdata(dev);
@@ -564,7 +557,7 @@ static int au1100fb_drv_suspend(struct platform_device *dev, pm_message_t state)
clk_disable(fbdev->lcdclk);
- memcpy(&fbregs, fbdev->regs, sizeof(struct au1100fb_regs));
+ memcpy(&fbdev->pm_regs, fbdev->regs, sizeof(struct au1100fb_regs));
return 0;
}
@@ -577,7 +570,7 @@ static int au1100fb_drv_resume(struct platform_device *dev)
if (!fbdev)
return 0;
- memcpy(fbdev->regs, &fbregs, sizeof(struct au1100fb_regs));
+ memcpy(fbdev->regs, &fbdev->pm_regs, sizeof(struct au1100fb_regs));
ret = clk_enable(fbdev->lcdclk);
if (ret)
diff --git a/drivers/video/fbdev/au1100fb.h b/drivers/video/fbdev/au1100fb.h
index 8b29e424d017..998328cd16a2 100644
--- a/drivers/video/fbdev/au1100fb.h
+++ b/drivers/video/fbdev/au1100fb.h
@@ -103,6 +103,11 @@ struct au1100fb_device {
size_t regs_len;
unsigned int regs_phys;
+#ifdef CONFIG_PM
+ /* stores the register values during suspend */
+ struct au1100fb_regs pm_regs;
+#endif
+
unsigned char* fb_mem; /* FrameBuffer memory map */
size_t fb_len;
dma_addr_t fb_phys;
--
2.47.3
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms
2026-02-04 9:15 ` [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms Uwe Kleine-König
@ 2026-02-04 14:13 ` kernel test robot
2026-02-04 14:34 ` kernel test robot
2026-02-04 15:16 ` kernel test robot
2 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2026-02-04 14:13 UTC (permalink / raw)
To: Uwe Kleine-König, Helge Deller
Cc: llvm, oe-kbuild-all, Chen Ni, linux-fbdev, dri-devel
Hi Uwe,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 0636e6205beed850d985276dc56fd73d785bea5c]
url: https://github.com/intel-lab-lkp/linux/commits/Uwe-Kleine-K-nig/fbdev-au1100fb-Mark-several-local-functions-as-static/20260204-171704
base: 0636e6205beed850d985276dc56fd73d785bea5c
patch link: https://lore.kernel.org/r/474eca0c9ecb8a2e610e82922ad22ad7e8ff0b8b.1770196161.git.u.kleine-koenig%40baylibre.com
patch subject: [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms
config: sparc64-allmodconfig (https://download.01.org/0day-ci/archive/20260204/202602042233.GXk79AnA-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9b8addffa70cee5b2acc5454712d9cf78ce45710)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260204/202602042233.GXk79AnA-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602042233.GXk79AnA-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/video/fbdev/au1100fb.c:473:6: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
472 | print_err("fail to allocate framebuffer (size: %dK))",
| ~~
| %zu
473 | fbdev->fb_len / 1024);
| ^~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/au1100fb.h:33:74: note: expanded from macro 'print_err'
33 | #define print_err(f, arg...) printk(KERN_ERR DRIVER_NAME ": " f "\n", ## arg)
| ~ ^~~
include/linux/printk.h:512:60: note: expanded from macro 'printk'
512 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/printk.h:484:19: note: expanded from macro 'printk_index_wrap'
484 | _p_func(_fmt, ##__VA_ARGS__); \
| ~~~~ ^~~~~~~~~~~
1 warning generated.
vim +473 drivers/video/fbdev/au1100fb.c
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 415
48c68c4f1b5424 drivers/video/au1100fb.c Greg Kroah-Hartman 2012-12-21 416 static int au1100fb_drv_probe(struct platform_device *dev)
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 417 {
46953e6aab262d drivers/video/fbdev/au1100fb.c Markus Elfring 2018-03-28 418 struct au1100fb_device *fbdev;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 419 struct resource *regs_res;
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 420 struct clk *c;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 421
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 422 /* Allocate new device private */
db66f0252e2f17 drivers/video/fbdev/au1100fb.c Markus Elfring 2018-03-28 423 fbdev = devm_kzalloc(&dev->dev, sizeof(*fbdev), GFP_KERNEL);
29914badc59b23 drivers/video/fbdev/au1100fb.c Markus Elfring 2018-03-28 424 if (!fbdev)
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 425 return -ENOMEM;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 426
d121c3f3cedb84 drivers/video/au1100fb.c Manuel Lauss 2011-09-30 427 if (au1100fb_setup(fbdev))
d121c3f3cedb84 drivers/video/au1100fb.c Manuel Lauss 2011-09-30 428 goto failed;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 429
7a192ec334cab9 drivers/video/au1100fb.c Ming Lei 2009-02-06 430 platform_set_drvdata(dev, (void *)fbdev);
67f30ad19c4b32 drivers/video/fbdev/au1100fb.c Christoph Hellwig 2019-04-28 431 fbdev->dev = &dev->dev;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 432
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 433 /* Allocate region for our registers and map them */
d121c3f3cedb84 drivers/video/au1100fb.c Manuel Lauss 2011-09-30 434 regs_res = platform_get_resource(dev, IORESOURCE_MEM, 0);
d121c3f3cedb84 drivers/video/au1100fb.c Manuel Lauss 2011-09-30 435 if (!regs_res) {
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 436 print_err("fail to retrieve registers resource");
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 437 return -EFAULT;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 438 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 439
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 440 au1100fb_fix.mmio_start = regs_res->start;
28f65c11f2ffb3 drivers/video/au1100fb.c Joe Perches 2011-06-09 441 au1100fb_fix.mmio_len = resource_size(regs_res);
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 442
93019734555f8d drivers/video/au1100fb.c Manuel Lauss 2012-03-24 443 if (!devm_request_mem_region(&dev->dev,
93019734555f8d drivers/video/au1100fb.c Manuel Lauss 2012-03-24 444 au1100fb_fix.mmio_start,
1c16697bf9d5b2 drivers/video/au1100fb.c Julia Lawall 2012-01-21 445 au1100fb_fix.mmio_len,
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 446 DRIVER_NAME)) {
c05b7f3d12b945 drivers/video/au1100fb.c Rodolfo Giometti 2006-05-30 447 print_err("fail to lock memory region at 0x%08lx",
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 448 au1100fb_fix.mmio_start);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 449 return -EBUSY;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 450 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 451
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 452 fbdev->regs = (struct au1100fb_regs*)KSEG1ADDR(au1100fb_fix.mmio_start);
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 453
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 454 print_dbg("Register memory map at %p", fbdev->regs);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 455 print_dbg("phys=0x%08x, size=%d", fbdev->regs_phys, fbdev->regs_len);
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 456
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 457 c = clk_get(NULL, "lcd_intclk");
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 458 if (!IS_ERR(c)) {
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 459 fbdev->lcdclk = c;
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 460 clk_set_rate(c, 48000000);
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 461 clk_prepare_enable(c);
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 462 }
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 463
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 464 /* Allocate the framebuffer to the maximum screen size * nbr of video buffers */
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 465 fbdev->fb_len = fbdev->panel->xres * fbdev->panel->yres *
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 466 (fbdev->panel->bpp >> 3) * AU1100FB_NBR_VIDEO_BUFFERS;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 467
93019734555f8d drivers/video/au1100fb.c Manuel Lauss 2012-03-24 468 fbdev->fb_mem = dmam_alloc_coherent(&dev->dev,
1c16697bf9d5b2 drivers/video/au1100fb.c Julia Lawall 2012-01-21 469 PAGE_ALIGN(fbdev->fb_len),
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 470 &fbdev->fb_phys, GFP_KERNEL);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 471 if (!fbdev->fb_mem) {
3879490f3a9765 drivers/video/fbdev/au1100fb.c Colin Ian King 2018-05-15 472 print_err("fail to allocate framebuffer (size: %dK))",
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 @473 fbdev->fb_len / 1024);
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 474 return -ENOMEM;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 475 }
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 476
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 477 au1100fb_fix.smem_start = fbdev->fb_phys;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 478 au1100fb_fix.smem_len = fbdev->fb_len;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 479
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 480 print_dbg("Framebuffer memory map at %p", fbdev->fb_mem);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 481 print_dbg("phys=0x%08x, size=%dK", fbdev->fb_phys, fbdev->fb_len / 1024);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 482
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 483 /* load the panel info into the var struct */
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 484 au1100fb_var.bits_per_pixel = fbdev->panel->bpp;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 485 au1100fb_var.xres = fbdev->panel->xres;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 486 au1100fb_var.xres_virtual = au1100fb_var.xres;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 487 au1100fb_var.yres = fbdev->panel->yres;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 488 au1100fb_var.yres_virtual = au1100fb_var.yres;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 489
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 490 fbdev->info.screen_base = fbdev->fb_mem;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 491 fbdev->info.fbops = &au1100fb_ops;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 492 fbdev->info.fix = au1100fb_fix;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 493
1c16697bf9d5b2 drivers/video/au1100fb.c Julia Lawall 2012-01-21 494 fbdev->info.pseudo_palette =
a86854d0c599b3 drivers/video/fbdev/au1100fb.c Kees Cook 2018-06-12 495 devm_kcalloc(&dev->dev, 16, sizeof(u32), GFP_KERNEL);
1c16697bf9d5b2 drivers/video/au1100fb.c Julia Lawall 2012-01-21 496 if (!fbdev->info.pseudo_palette)
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 497 return -ENOMEM;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 498
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 499 if (fb_alloc_cmap(&fbdev->info.cmap, AU1100_LCD_NBR_PALETTE_ENTRIES, 0) < 0) {
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 500 print_err("Fail to allocate colormap (%d entries)",
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 501 AU1100_LCD_NBR_PALETTE_ENTRIES);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 502 return -EFAULT;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 503 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 504
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 505 fbdev->info.var = au1100fb_var;
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 506
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 507 /* Set h/w registers */
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 508 au1100fb_setmode(fbdev);
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 509
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 510 /* Register new framebuffer */
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 511 if (register_framebuffer(&fbdev->info) < 0) {
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 512 print_err("cannot register new framebuffer");
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 513 goto failed;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 514 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 515
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 516 return 0;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 517
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 518 failed:
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 519 if (fbdev->lcdclk) {
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 520 clk_disable_unprepare(fbdev->lcdclk);
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 521 clk_put(fbdev->lcdclk);
6b1889c14b4606 drivers/video/fbdev/au1100fb.c Manuel Lauss 2014-07-23 522 }
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 523 if (fbdev->info.cmap.len != 0) {
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 524 fb_dealloc_cmap(&fbdev->info.cmap);
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 525 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 526
1c16697bf9d5b2 drivers/video/au1100fb.c Julia Lawall 2012-01-21 527 return -ENODEV;
3b495f2bb749b8 drivers/video/au1100fb.c Pete Popov 2005-04-04 528 }
^1da177e4c3f41 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 529
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms
2026-02-04 9:15 ` [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms Uwe Kleine-König
2026-02-04 14:13 ` kernel test robot
@ 2026-02-04 14:34 ` kernel test robot
2026-02-04 15:16 ` kernel test robot
2 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2026-02-04 14:34 UTC (permalink / raw)
To: Uwe Kleine-König, Helge Deller
Cc: llvm, oe-kbuild-all, Chen Ni, linux-fbdev, dri-devel
Hi Uwe,
kernel test robot noticed the following build errors:
[auto build test ERROR on 0636e6205beed850d985276dc56fd73d785bea5c]
url: https://github.com/intel-lab-lkp/linux/commits/Uwe-Kleine-K-nig/fbdev-au1100fb-Mark-several-local-functions-as-static/20260204-171704
base: 0636e6205beed850d985276dc56fd73d785bea5c
patch link: https://lore.kernel.org/r/474eca0c9ecb8a2e610e82922ad22ad7e8ff0b8b.1770196161.git.u.kleine-koenig%40baylibre.com
patch subject: [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20260204/202602042224.CY8SSh3n-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260204/202602042224.CY8SSh3n-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602042224.CY8SSh3n-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/video/fbdev/au1100fb.c:354:32: error: expression is not assignable
354 | pgprot_val(vma->vm_page_prot) |= (6 << 9); //CCA=6
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
drivers/video/fbdev/au1100fb.c:473:6: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
472 | print_err("fail to allocate framebuffer (size: %dK))",
| ~~
| %zu
473 | fbdev->fb_len / 1024);
| ^~~~~~~~~~~~~~~~~~~~
drivers/video/fbdev/au1100fb.h:33:74: note: expanded from macro 'print_err'
33 | #define print_err(f, arg...) printk(KERN_ERR DRIVER_NAME ": " f "\n", ## arg)
| ~ ^~~
include/linux/printk.h:512:60: note: expanded from macro 'printk'
512 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
| ~~~ ^~~~~~~~~~~
include/linux/printk.h:484:19: note: expanded from macro 'printk_index_wrap'
484 | _p_func(_fmt, ##__VA_ARGS__); \
| ~~~~ ^~~~~~~~~~~
1 warning and 1 error generated.
vim +354 drivers/video/fbdev/au1100fb.c
3b495f2bb749b82 drivers/video/au1100fb.c Pete Popov 2005-04-04 343
3b495f2bb749b82 drivers/video/au1100fb.c Pete Popov 2005-04-04 344 /* fb_mmap
3b495f2bb749b82 drivers/video/au1100fb.c Pete Popov 2005-04-04 345 * Map video memory in user space. We don't use the generic fb_mmap method mainly
3b495f2bb749b82 drivers/video/au1100fb.c Pete Popov 2005-04-04 346 * to allow the use of the TLB streaming flag (CCA=6)
3b495f2bb749b82 drivers/video/au1100fb.c Pete Popov 2005-04-04 347 */
0238b447706a72c drivers/video/fbdev/au1100fb.c Uwe Kleine-König 2026-02-04 348 static int au1100fb_fb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
3b495f2bb749b82 drivers/video/au1100fb.c Pete Popov 2005-04-04 349 {
67f30ad19c4b329 drivers/video/fbdev/au1100fb.c Christoph Hellwig 2019-04-28 350 struct au1100fb_device *fbdev = to_au1100fb_device(fbi);
c05b7f3d12b9455 drivers/video/au1100fb.c Rodolfo Giometti 2006-05-30 351
76f92201b821dd2 drivers/video/fbdev/au1100fb.c Thomas Zimmermann 2023-11-27 352 vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot);
76f92201b821dd2 drivers/video/fbdev/au1100fb.c Thomas Zimmermann 2023-11-27 353
^1da177e4c3f415 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 @354 pgprot_val(vma->vm_page_prot) |= (6 << 9); //CCA=6
^1da177e4c3f415 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 355
67f30ad19c4b329 drivers/video/fbdev/au1100fb.c Christoph Hellwig 2019-04-28 356 return dma_mmap_coherent(fbdev->dev, vma, fbdev->fb_mem, fbdev->fb_phys,
67f30ad19c4b329 drivers/video/fbdev/au1100fb.c Christoph Hellwig 2019-04-28 357 fbdev->fb_len);
^1da177e4c3f415 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 358 }
^1da177e4c3f415 drivers/video/au1100fb.c Linus Torvalds 2005-04-16 359
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms
2026-02-04 9:15 ` [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms Uwe Kleine-König
2026-02-04 14:13 ` kernel test robot
2026-02-04 14:34 ` kernel test robot
@ 2026-02-04 15:16 ` kernel test robot
2 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2026-02-04 15:16 UTC (permalink / raw)
To: Uwe Kleine-König, Helge Deller
Cc: oe-kbuild-all, Chen Ni, linux-fbdev, dri-devel
Hi Uwe,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 0636e6205beed850d985276dc56fd73d785bea5c]
url: https://github.com/intel-lab-lkp/linux/commits/Uwe-Kleine-K-nig/fbdev-au1100fb-Mark-several-local-functions-as-static/20260204-171704
base: 0636e6205beed850d985276dc56fd73d785bea5c
patch link: https://lore.kernel.org/r/474eca0c9ecb8a2e610e82922ad22ad7e8ff0b8b.1770196161.git.u.kleine-koenig%40baylibre.com
patch subject: [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms
config: s390-allyesconfig (https://download.01.org/0day-ci/archive/20260204/202602042342.RXu7sDV7-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260204/202602042342.RXu7sDV7-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602042342.RXu7sDV7-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/video/fbdev/au1100fb.c: In function 'au1100fb_fb_mmap':
drivers/video/fbdev/au1100fb.c:354:39: error: lvalue required as left operand of assignment
354 | pgprot_val(vma->vm_page_prot) |= (6 << 9); //CCA=6
| ^~
In file included from include/asm-generic/bug.h:31,
from arch/s390/include/asm/bug.h:60,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from arch/s390/include/asm/cmpxchg.h:11,
from arch/s390/include/asm/atomic.h:16,
from include/linux/atomic.h:7,
from include/asm-generic/bitops/atomic.h:5,
from arch/s390/include/asm/bitops.h:75,
from include/linux/bitops.h:67,
from include/linux/kernel.h:23,
from include/linux/clk.h:13,
from drivers/video/fbdev/au1100fb.c:44:
drivers/video/fbdev/au1100fb.c: In function 'au1100fb_drv_probe':
>> include/linux/kern_levels.h:5:25: warning: format '%d' expects argument of type 'int', but argument 2 has type 'size_t' {aka 'long unsigned int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/printk.h:484:25: note: in definition of macro 'printk_index_wrap'
484 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~
drivers/video/fbdev/au1100fb.h:33:30: note: in expansion of macro 'printk'
33 | #define print_err(f, arg...) printk(KERN_ERR DRIVER_NAME ": " f "\n", ## arg)
| ^~~~~~
include/linux/kern_levels.h:11:25: note: in expansion of macro 'KERN_SOH'
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
drivers/video/fbdev/au1100fb.h:33:37: note: in expansion of macro 'KERN_ERR'
33 | #define print_err(f, arg...) printk(KERN_ERR DRIVER_NAME ": " f "\n", ## arg)
| ^~~~~~~~
drivers/video/fbdev/au1100fb.c:472:17: note: in expansion of macro 'print_err'
472 | print_err("fail to allocate framebuffer (size: %dK))",
| ^~~~~~~~~
vim +5 include/linux/kern_levels.h
314ba3520e513a Joe Perches 2012-07-30 4
04d2c8c83d0e3a Joe Perches 2012-07-30 @5 #define KERN_SOH "\001" /* ASCII Start Of Header */
04d2c8c83d0e3a Joe Perches 2012-07-30 6 #define KERN_SOH_ASCII '\001'
04d2c8c83d0e3a Joe Perches 2012-07-30 7
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/3] fbdev: au1100fb: Mark several local functions as static
2026-02-04 9:15 ` [PATCH v1 1/3] fbdev: au1100fb: Mark several local functions as static Uwe Kleine-König
@ 2026-02-06 11:06 ` Helge Deller
2026-02-06 11:22 ` Helge Deller
0 siblings, 1 reply; 10+ messages in thread
From: Helge Deller @ 2026-02-06 11:06 UTC (permalink / raw)
To: Uwe Kleine-König; +Cc: Chen Ni, linux-fbdev, dri-devel
Hi Uwe,
On 2/4/26 10:15, Uwe Kleine-König wrote:
> This fixes several (fatal) compiler warnings à la
>
> drivers/video/fbdev/au1100fb.c:530:6: error: no previous prototype for ‘au1100fb_drv_remove’ [-Werror=missing-prototypes]
> 523 | void au1100fb_drv_remove(struct platform_device *dev)
> | ^~~~~~~~~~~~~~~~~~~
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
I've applied patches #1 and #3 of this series to the fbdev git tree.
Patch #2 needs fixing, as it breaks build on s390x.
Helge
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/3] fbdev: au1100fb: Mark several local functions as static
2026-02-06 11:06 ` Helge Deller
@ 2026-02-06 11:22 ` Helge Deller
2026-02-06 14:15 ` Uwe Kleine-König
0 siblings, 1 reply; 10+ messages in thread
From: Helge Deller @ 2026-02-06 11:22 UTC (permalink / raw)
To: Uwe Kleine-König; +Cc: Chen Ni, linux-fbdev, dri-devel
On 2/6/26 12:06, Helge Deller wrote:
> Hi Uwe,
>
> On 2/4/26 10:15, Uwe Kleine-König wrote:
>> This fixes several (fatal) compiler warnings à la
>>
>> drivers/video/fbdev/au1100fb.c:530:6: error: no previous prototype for ‘au1100fb_drv_remove’ [-Werror=missing-prototypes]
>> 523 | void au1100fb_drv_remove(struct platform_device *dev)
>> | ^~~~~~~~~~~~~~~~~~~
>>
>> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
>
> I've applied patches #1 and #3 of this series to the fbdev git tree.
>
> Patch #2 needs fixing, as it breaks build on s390x.
I fixed up patch #2 manually for now by excluding s390x as test platform.
If you have a better patch, I'm happy to take it.
Thanks!
Helge
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 1/3] fbdev: au1100fb: Mark several local functions as static
2026-02-06 11:22 ` Helge Deller
@ 2026-02-06 14:15 ` Uwe Kleine-König
0 siblings, 0 replies; 10+ messages in thread
From: Uwe Kleine-König @ 2026-02-06 14:15 UTC (permalink / raw)
To: Helge Deller; +Cc: Chen Ni, linux-fbdev, dri-devel
[-- Attachment #1: Type: text/plain, Size: 1028 bytes --]
Hello Helge,
On Fri, Feb 06, 2026 at 12:22:39PM +0100, Helge Deller wrote:
> On 2/6/26 12:06, Helge Deller wrote:
> > On 2/4/26 10:15, Uwe Kleine-König wrote:
> > > This fixes several (fatal) compiler warnings à la
> > >
> > > drivers/video/fbdev/au1100fb.c:530:6: error: no previous prototype for ‘au1100fb_drv_remove’ [-Werror=missing-prototypes]
> > > 523 | void au1100fb_drv_remove(struct platform_device *dev)
> > > | ^~~~~~~~~~~~~~~~~~~
> > >
> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
> >
> > I've applied patches #1 and #3 of this series to the fbdev git tree.
> >
> > Patch #2 needs fixing, as it breaks build on s390x.
>
> I fixed up patch #2 manually for now by excluding s390x as test platform.
> If you have a better patch, I'm happy to take it.
I didn't look at that yet, but I suspect that the failure isn't s390x
specific and I think it's better to not relax the dependencies yet.
Best regards
Uwe
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-02-06 14:15 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-04 9:15 [PATCH v1 0/3] fbdev: au1100fb: support COMPILE_TEST and fix multi-device support Uwe Kleine-König
2026-02-04 9:15 ` [PATCH v1 1/3] fbdev: au1100fb: Mark several local functions as static Uwe Kleine-König
2026-02-06 11:06 ` Helge Deller
2026-02-06 11:22 ` Helge Deller
2026-02-06 14:15 ` Uwe Kleine-König
2026-02-04 9:15 ` [PATCH v1 2/3] fbdev: au1100fb: Make driver compilable on non-mips platforms Uwe Kleine-König
2026-02-04 14:13 ` kernel test robot
2026-02-04 14:34 ` kernel test robot
2026-02-04 15:16 ` kernel test robot
2026-02-04 9:15 ` [PATCH v1 3/3] fbdev: au1100fb: Don't store device specific data in global variables Uwe Kleine-König
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox