serverworks: remove crappy code

Remove crappy code noticed by Linus, see

	http://lkml.org/lkml/2007/5/23/476

for details.

While at it simplify logic a bit.

There should be no functionality changes caused by this patch.

Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 85f6038f
/* /*
* linux/drivers/ide/pci/serverworks.c Version 0.9 Mar 4 2007 * linux/drivers/ide/pci/serverworks.c Version 0.10 Jun 2 2007
* *
* Copyright (C) 1998-2000 Michel Aubry * Copyright (C) 1998-2000 Michel Aubry
* Copyright (C) 1998-2000 Andrzej Krzysztofowicz * Copyright (C) 1998-2000 Andrzej Krzysztofowicz
...@@ -170,7 +170,6 @@ static int svwks_tune_chipset (ide_drive_t *drive, u8 xferspeed) ...@@ -170,7 +170,6 @@ static int svwks_tune_chipset (ide_drive_t *drive, u8 xferspeed)
if (!drive->init_speed) { if (!drive->init_speed) {
u8 dma_stat = inb(hwif->dma_status); u8 dma_stat = inb(hwif->dma_status);
dma_pio:
if (((ultra_enable << (7-drive->dn) & 0x80) == 0x80) && if (((ultra_enable << (7-drive->dn) & 0x80) == 0x80) &&
((dma_stat & (1<<(5+unit))) == (1<<(5+unit)))) { ((dma_stat & (1<<(5+unit))) == (1<<(5+unit)))) {
drive->current_speed = drive->init_speed = XFER_UDMA_0 + udma_modes[(ultra_timing >> (4*unit)) & ~(0xF0)]; drive->current_speed = drive->init_speed = XFER_UDMA_0 + udma_modes[(ultra_timing >> (4*unit)) & ~(0xF0)];
...@@ -179,7 +178,6 @@ static int svwks_tune_chipset (ide_drive_t *drive, u8 xferspeed) ...@@ -179,7 +178,6 @@ static int svwks_tune_chipset (ide_drive_t *drive, u8 xferspeed)
((dma_stat&(1<<(5+unit)))==(1<<(5+unit)))) { ((dma_stat&(1<<(5+unit)))==(1<<(5+unit)))) {
u8 dmaspeed = dma_timing; u8 dmaspeed = dma_timing;
dma_timing &= ~0xFFU;
if ((dmaspeed & 0x20) == 0x20) if ((dmaspeed & 0x20) == 0x20)
dmaspeed = XFER_MW_DMA_2; dmaspeed = XFER_MW_DMA_2;
else if ((dmaspeed & 0x21) == 0x21) else if ((dmaspeed & 0x21) == 0x21)
...@@ -190,10 +188,11 @@ static int svwks_tune_chipset (ide_drive_t *drive, u8 xferspeed) ...@@ -190,10 +188,11 @@ static int svwks_tune_chipset (ide_drive_t *drive, u8 xferspeed)
goto dma_pio; goto dma_pio;
drive->current_speed = drive->init_speed = dmaspeed; drive->current_speed = drive->init_speed = dmaspeed;
return 0; return 0;
} else if (pio_timing) { }
dma_pio:
if (pio_timing) {
u8 piospeed = pio_timing; u8 piospeed = pio_timing;
pio_timing &= ~0xFFU;
if ((piospeed & 0x20) == 0x20) if ((piospeed & 0x20) == 0x20)
piospeed = XFER_PIO_4; piospeed = XFER_PIO_4;
else if ((piospeed & 0x22) == 0x22) else if ((piospeed & 0x22) == 0x22)
...@@ -214,8 +213,8 @@ static int svwks_tune_chipset (ide_drive_t *drive, u8 xferspeed) ...@@ -214,8 +213,8 @@ static int svwks_tune_chipset (ide_drive_t *drive, u8 xferspeed)
oem_setup_failed: oem_setup_failed:
pio_timing &= ~0xFFU; pio_timing = 0;
dma_timing &= ~0xFFU; dma_timing = 0;
ultra_timing &= ~(0x0F << (4*unit)); ultra_timing &= ~(0x0F << (4*unit));
ultra_enable &= ~(0x01 << drive->dn); ultra_enable &= ~(0x01 << drive->dn);
csb5_pio &= ~(0x0F << (4*drive->dn)); csb5_pio &= ~(0x0F << (4*drive->dn));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment