From: Jesper Juhl The floppy drive is slow. These days I see absolutely no good reason why the floppy driver should try to gain a tiny bit of speed by telling gcc to optimize access to some variables via the register keyword. Better to just leave gcc free to do whatever optimizations it deduces to be sane and not hamper it by telling it that some variables in the floppy driver are special and need to be fast (they don't). Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton --- drivers/block/floppy.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff -puN drivers/block/floppy.c~floppy-remove-register-keyword-use-from-floppy-driver drivers/block/floppy.c --- a/drivers/block/floppy.c~floppy-remove-register-keyword-use-from-floppy-driver +++ a/drivers/block/floppy.c @@ -783,7 +783,10 @@ static inline int is_selected(int dor, i static int set_dor(int fdc, char mask, char data) { - register unsigned char drive, unit, newdor, olddor; + unsigned char unit; + unsigned char drive; + unsigned char newdor; + unsigned char olddor; if (FDCS->address == -1) return -1; @@ -937,7 +940,7 @@ static void motor_off_callback(unsigned static void floppy_off(unsigned int drive) { unsigned long volatile delta; - register int fdc = FDC(drive); + int fdc = FDC(drive); if (!(FDCS->dor & (0x10 << UNIT(drive)))) return; _