Files
kernel/include/linux
Lukas Wunner b4a29b9480 serial: 8250: Move Alpha-specific quirk out of the core
struct uart_8250_port contains mcr_mask and mcr_force members whose
sole purpose is to work around an Alpha-specific quirk.  This code
doesn't belong in the core where it is executed by everyone else,
so move it to a proper ->set_mctrl callback which is used on the
affected Alpha machine only.

The quirk was introduced in January 1995:
https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/diff/drivers/char/serial.c?h=1.1.83

The members in struct uart_8250_port were added in 2002:
https://git.kernel.org/history/history/c/4524aad27854

The quirk applies to non-PCI Alphas and arch/alpha/Kconfig specifies
"select FORCE_PCI if !ALPHA_JENSEN".  So apparently the only affected
machine is the EISA-based Jensen that Linus was working on back then:
https://lore.kernel.org/all/CAHk-=wj1JWZ3sCrGz16nxEj7=0O+srMg6Ah3iPTDXSPKEws_SA@mail.gmail.com/

Up until now the quirk is not applied unless CONFIG_PCI is disabled.
If users forget to do that or run a generic Alpha kernel, the serial
ports aren't usable on Jensen.  Avoid by confining the quirk to
CONFIG_ALPHA_JENSEN instead of !CONFIG_PCI.  On generic Alpha kernels,
auto-detect at runtime whether the quirk needs to be applied.

Cc: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Ulrich Teichert <krypton@ulrich-teichert.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Link: https://lore.kernel.org/r/b83d069cb516549b8a5420e097bb6bdd806f36fc.1640695609.git.lukas@wunner.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-12-30 13:23:44 +01:00
..
2021-11-23 19:13:00 +01:00
2021-10-18 14:43:23 -06:00
2021-11-17 10:36:15 -05:00
2021-12-10 17:10:55 -08:00
2021-10-25 12:01:14 +05:30
2021-11-17 10:36:35 -05:00
2021-10-18 07:49:38 -04:00
2021-10-18 07:49:39 -04:00
2021-11-06 14:08:17 -07:00
2021-11-10 21:16:56 +00:00
2021-10-18 07:49:39 -04:00
2021-11-17 10:36:35 -05:00
2021-11-25 18:33:22 +01:00
2021-10-14 13:29:18 +02:00
2021-10-18 07:49:39 -04:00
2021-10-18 17:20:50 +02:00
2021-10-30 16:37:28 +02:00
2021-11-06 13:30:43 -07:00
2021-10-26 14:58:45 +01:00
2021-11-03 11:41:25 -07:00
2021-11-25 18:35:23 +01:00
2021-12-09 10:49:56 -08:00
2021-10-19 23:44:30 +08:00