From 6f366e86481a7503a821de82930df517dddd4047 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 16 Feb 2026 00:33:20 +0100 Subject: [PATCH] fbdev: au1100fb: Make driver compilable on non-mips platforms MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The header asm/mach-au1x00/au1000.h is unused apart from pulling in (for mdelay()) and (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 Signed-off-by: Helge Deller --- drivers/video/fbdev/Kconfig | 3 ++- drivers/video/fbdev/au1100fb.c | 12 ++++++++++-- drivers/video/fbdev/au1100fb.h | 2 -- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index 45733522ff48..ac9ac4287c6a 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 = y + 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 398375793f57..7611dad0d68d 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 +#include +#include #include #include #include @@ -55,12 +57,15 @@ #include #include -#include - #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" @@ -332,7 +337,10 @@ static int au1100fb_fb_mmap(struct fb_info *fbi, struct vm_area_struct *vma) vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot); +#ifndef CONFIG_S390 + /* On s390 pgprot_val() is a function and thus not a lvalue */ pgprot_val(vma->vm_page_prot) |= (6 << 9); //CCA=6 +#endif return dma_mmap_coherent(fbdev->dev, vma, fbdev->fb_mem, fbdev->fb_phys, fbdev->fb_len); diff --git a/drivers/video/fbdev/au1100fb.h b/drivers/video/fbdev/au1100fb.h index b7bf6e005572..63aef2f52141 100644 --- a/drivers/video/fbdev/au1100fb.h +++ b/drivers/video/fbdev/au1100fb.h @@ -30,8 +30,6 @@ #ifndef _AU1100LCD_H #define _AU1100LCD_H -#include - #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