[PATCH 00/23] Floppy driver cleanups

From: Willy Tarreau
Date: Tue Mar 31 2020 - 05:42:25 EST


This series applies a second batch of cleanups to the floppy driver and
its multiple arch-specific parts. Here the focus was on getting rid of
hard-coded registers and flags values to switch to their symbolic
definitions instead, and on making use of the global current_fdc variable
much more explicit throughout the code to reduce the risk of accidental
misuse as was the case with the most recently fixed bug.

Note that this code base is very old and the purpose is not to rewrite
nor reorganize the driver at all, but instead to make certain things
more obvious while keeping changes reviewable. It does not even address
style issues that make checkpatch continue to complain a little bit (15
total warnings which were already there and don't seem worth addressing
without more careful testing). Some comments were added to document a
few non-obvious assumptions though.

This series was rediffed against today's master (458ef2a25e0c) which
contains the first series. The changes were tested on x86 with real
hardware, and was build-tested on ARM.

Willy Tarreau (23):
floppy: split the base port from the register in I/O accesses
floppy: add references to 82077's extra registers
floppy: use symbolic register names in the m68k port
floppy: use symbolic register names in the parisc port
floppy: use symbolic register names in the powerpc port
floppy: use symbolic register names in the sparc32 port
floppy: use symbolic register names in the sparc64 port
floppy: use symbolic register names in the x86 port
floppy: cleanup: make twaddle() not rely on current_{fdc,drive}
anymore
floppy: cleanup: make reset_fdc_info() not rely on current_fdc anymore
floppy: cleanup: make show_floppy() not rely on current_fdc anymore
floppy: cleanup: make wait_til_ready() not rely on current_fdc anymore
floppy: cleanup: make output_byte() not rely on current_fdc anymore
floppy: cleanup: make result() not rely on current_fdc anymore
floppy: cleanup: make need_more_output() not rely on current_fdc
anymore
floppy: cleanup: make perpendicular_mode() not rely on current_fdc
anymore
floppy: cleanup: make fdc_configure() not rely on current_fdc anymore
floppy: cleanup: make fdc_specify() not rely on current_{fdc,drive}
anymore
floppy: cleanup: make check_wp() not rely on current_{fdc,drive}
anymore
floppy: cleanup: make next_valid_format() not rely on current_drive
anymore
floppy: cleanup: make get_fdc_version() not rely on current_fdc
anymore
floppy: cleanup: do not iterate on current_fdc in DMA grab/release
functions
floppy: cleanup: add a few comments about expectations in certain
functions

arch/alpha/include/asm/floppy.h | 4 +-
arch/arm/include/asm/floppy.h | 8 +-
arch/m68k/include/asm/floppy.h | 27 +-
arch/mips/include/asm/mach-generic/floppy.h | 8 +-
arch/mips/include/asm/mach-jazz/floppy.h | 8 +-
arch/parisc/include/asm/floppy.h | 19 +-
arch/powerpc/include/asm/floppy.h | 19 +-
arch/sparc/include/asm/floppy_32.h | 50 +--
arch/sparc/include/asm/floppy_64.h | 59 ++--
arch/x86/include/asm/floppy.h | 19 +-
drivers/block/floppy.c | 330 ++++++++++----------
include/uapi/linux/fdreg.h | 16 +-
12 files changed, 299 insertions(+), 268 deletions(-)

Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Cc: Helge Deller <deller@xxxxxx>
Cc: Ian Molton <spyro@xxxxxxx>
Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>
Cc: Matt Turner <mattst88@xxxxxxxxx>
Cc: Richard Henderson <rth@xxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxx>
Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>
Cc: x86@xxxxxxxxxx
--
2.20.1