Skip to content
Commit 2e2ac4a3 authored by Laurent Vivier's avatar Laurent Vivier Committed by Geert Uytterhoeven
Browse files

tty: goldfish: Introduce gf_ioread32()/gf_iowrite32()



The goldfish TTY device was clearly defined as having little-endian
registers, but the switch to __raw_{read,write}l(() broke its driver
when running on big-endian kernels (if anyone ever tried this).

The m68k qemu implementation got this wrong, and assumed native-endian
registers.  While this is a bug in qemu, it is probably impossible to
fix that since there is no way of knowing which other operating systems
have started relying on that bug over the years.

Hence revert commit da31de35 ("tty: goldfish: use
__raw_writel()/__raw_readl()", and define gf_ioread32()/gf_iowrite32()
to be able to use accessors defined by the architecture.

Cc: stable@vger.kernel.org # v5.11+
Fixes: da31de35 ("tty: goldfish: use __raw_writel()/__raw_readl()")
Signed-off-by: default avatarLaurent Vivier <laurent@vivier.eu>
Link: https://lore.kernel.org/r/20220406201523.243733-2-laurent@vivier.eu


[geert: Add rationale based on Arnd's comments]
Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
parent 31231092
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment