mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-08-09 06:14:34 +02:00
The mdacon driver supports using ISA MDA or Hercules-compatible display
adapters as a secondary text console. This was commonly used in the
1990s and earlier for debugging software which took over the primary
display. It is highly unlikely anyone is doing so nowadays because
serial consoles and much better methods of debugging exist.
The driver is not enabled by any defconfig, nor any of the
dozens of distro configs collected at [1]. It has been relegated to VTs
13-16 since commit 0b9cf3aa6b ("mdacon messing up default vc's - set
default to vc13-16 again") in Linux 2.6.27 (and before Linux 2.5.53 -
see the link in the message of the above commit). The change in 2.6.27
was done because it was incorrectly detecting non-MDA adapters as MDA
and taking over all VTs, rendering them unusable.
Furthermore, vgacon supports using MDA/Hercules-compatible adapters as
the primary text console, so any systems with only one of these
adapters were already using vgacon and will not experience any loss in
functionality from the removal of this driver.
Given all of these factors, the mdacon driver is likely entirely
unused. Remove it.
[1] https://github.com/nyrahul/linux-kernel-configs/tree/f0bee86a135a0406ea427855f52702dd00d770f9
Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
56 lines
1.1 KiB
C
56 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_POWERPC_VGA_H_
|
|
#define _ASM_POWERPC_VGA_H_
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
/*
|
|
* Access to VGA videoram
|
|
*
|
|
* (c) 1998 Martin Mares <mj@ucw.cz>
|
|
*/
|
|
|
|
|
|
#include <asm/io.h>
|
|
|
|
|
|
#ifdef CONFIG_VGA_CONSOLE
|
|
|
|
#define VT_BUF_HAVE_RW
|
|
/*
|
|
* These are only needed for supporting VGA or MDA text mode, which use little
|
|
* endian byte ordering.
|
|
* In other cases, we can optimize by using native byte ordering and
|
|
* <linux/vt_buffer.h> has already done the right job for us.
|
|
*/
|
|
|
|
static inline void scr_writew(u16 val, volatile u16 *addr)
|
|
{
|
|
*addr = cpu_to_le16(val);
|
|
}
|
|
|
|
static inline u16 scr_readw(volatile const u16 *addr)
|
|
{
|
|
return le16_to_cpu(*addr);
|
|
}
|
|
|
|
#define VT_BUF_HAVE_MEMSETW
|
|
static inline void scr_memsetw(u16 *s, u16 v, unsigned int n)
|
|
{
|
|
memset16(s, cpu_to_le16(v), n / 2);
|
|
}
|
|
|
|
#endif /* !CONFIG_VGA_CONSOLE */
|
|
|
|
#ifdef __powerpc64__
|
|
#define VGA_MAP_MEM(x,s) ((unsigned long) ioremap((x), s))
|
|
#else
|
|
#define VGA_MAP_MEM(x,s) (x)
|
|
#endif
|
|
|
|
#define vga_readb(x) (*(x))
|
|
#define vga_writeb(x,y) (*(y) = (x))
|
|
|
|
#endif /* __KERNEL__ */
|
|
#endif /* _ASM_POWERPC_VGA_H_ */
|