mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Including m68k's <asm/raw_io.h> in vga.h on nommu platforms results
in conflicting defines with io_no.h for various I/O macros from the
__raw_read and __raw_write families. An example error is
In file included from arch/m68k/include/asm/vga.h:12,
from include/video/vga.h:22,
from include/linux/vgaarb.h:34,
from drivers/video/aperture.c:12:
>> arch/m68k/include/asm/raw_io.h:39: warning: "__raw_readb" redefined
39 | #define __raw_readb in_8
|
In file included from arch/m68k/include/asm/io.h:6,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:17,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:11,
from include/linux/interrupt.h:11,
from include/linux/trace_recursion.h:5,
from include/linux/ftrace.h:10,
from include/linux/kprobes.h:28,
from include/linux/kgdb.h:19,
from include/linux/fb.h:6,
from drivers/video/aperture.c:5:
arch/m68k/include/asm/io_no.h:16: note: this is the location of the previous definition
16 | #define __raw_readb(addr) \
|
Include <asm/io.h>, which avoids raw_io.h on nommu platforms.
Also change the defined values of some of the read/write symbols in
vga.h to __raw_read/__raw_write as the raw_in/raw_out symbols are not
generally available.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202501071629.DNEswlm8-lkp@intel.com/
Fixes: 5c3f968712
("m68k/video: Create <asm/vga.h>")
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: linux-fbdev@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: Helge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org # v3.5+
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/20250107095912.130530-1-tzimmermann@suse.de
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
37 lines
902 B
C
37 lines
902 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_M68K_VGA_H
|
|
#define _ASM_M68K_VGA_H
|
|
|
|
/*
|
|
* Some ColdFire platforms do in fact have a PCI bus. So for those we want
|
|
* to use the real IO access functions, don't fake them out or redirect them
|
|
* for that case.
|
|
*/
|
|
#ifndef CONFIG_PCI
|
|
|
|
#include <asm/io.h>
|
|
#include <asm/kmap.h>
|
|
|
|
/*
|
|
* FIXME
|
|
* Ugh, we don't have PCI space, so map readb() and friends to use raw I/O
|
|
* accessors, which are identical to the z_*() Zorro bus accessors.
|
|
* This should make cirrusfb work again on Amiga
|
|
*/
|
|
#undef inb_p
|
|
#undef inw_p
|
|
#undef outb_p
|
|
#undef outw
|
|
#undef readb
|
|
#undef writeb
|
|
#undef writew
|
|
#define inb_p(port) 0
|
|
#define inw_p(port) 0
|
|
#define outb_p(port, val) do { } while (0)
|
|
#define outw(port, val) do { } while (0)
|
|
#define readb __raw_readb
|
|
#define writeb __raw_writeb
|
|
#define writew __raw_writew
|
|
|
|
#endif /* CONFIG_PCI */
|
|
#endif /* _ASM_M68K_VGA_H */
|