summaryrefslogtreecommitdiffstats
path: root/drivers/clocksource/timer-goldfish.c
diff options
context:
space:
mode:
authorLaurent Vivier <laurent@vivier.eu>2022-04-06 22:15:20 +0200
committerGeert Uytterhoeven <geert@linux-m68k.org>2022-04-11 11:48:01 +0200
commit2e2ac4a3327479f7e2744cdd88a5c823f2057bad (patch)
treeb35193673d8e7fdac3f13e2c007a005c71ab664b /drivers/clocksource/timer-goldfish.c
parent3123109284176b1532874591f7c81f3837bbdc17 (diff)
downloadlinux-2e2ac4a3327479f7e2744cdd88a5c823f2057bad.tar.bz2
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 da31de35cd2f ("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: da31de35cd2fb78f ("tty: goldfish: use __raw_writel()/__raw_readl()") Signed-off-by: Laurent 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: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'drivers/clocksource/timer-goldfish.c')
0 files changed, 0 insertions, 0 deletions