]> err.no Git - linux-2.6/blobdiff - drivers/ide/pci/cs5530.c
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
[linux-2.6] / drivers / ide / pci / cs5530.c
index e5949b1d3fb0c001726360ff2392f71c6edc303d..741507b4cd93b0c789599fec220240c8424e7c92 100644 (file)
@@ -71,19 +71,18 @@ static void cs5530_tunepio(ide_drive_t *drive, u8 pio)
 }
 
 /**
- *     cs5530_tuneproc         -       select/set PIO modes
+ *     cs5530_set_pio_mode     -       set PIO mode
+ *     @drive: drive
+ *     @pio: PIO mode number
  *
- *     cs5530_tuneproc() handles selection/setting of PIO modes
- *     for both the chipset and drive.
+ *     Handles setting of PIO mode for both the chipset and drive.
  *
- *     The ide_init_cs5530() routine guarantees that all drives
+ *     The init_hwif_cs5530() routine guarantees that all drives
  *     will have valid default PIO timings set up before we get here.
  */
 
-static void cs5530_tuneproc (ide_drive_t *drive, u8 pio)       /* pio=255 means "autotune" */
+static void cs5530_set_pio_mode(ide_drive_t *drive, const u8 pio)
 {
-       pio = ide_get_best_pio_mode(drive, pio, 4);
-
        if (cs5530_set_xfer_mode(drive, XFER_PIO_0 + pio) == 0)
                cs5530_tunepio(drive, pio);
 }
@@ -143,13 +142,11 @@ static int cs5530_config_dma(ide_drive_t *drive)
        return 1;
 }
 
-static int cs5530_tune_chipset(ide_drive_t *drive, u8 mode)
+static int cs5530_tune_chipset(ide_drive_t *drive, const u8 mode)
 {
        unsigned long basereg;
        unsigned int reg, timings = 0;
 
-       mode = ide_rate_filter(drive, mode);
-
        /*
         * Tell the drive to switch to the new mode; abort on failure.
         */
@@ -166,13 +163,6 @@ static int cs5530_tune_chipset(ide_drive_t *drive, u8 mode)
                case XFER_MW_DMA_0:     timings = 0x00077771; break;
                case XFER_MW_DMA_1:     timings = 0x00012121; break;
                case XFER_MW_DMA_2:     timings = 0x00002020; break;
-               case XFER_PIO_4:
-               case XFER_PIO_3:
-               case XFER_PIO_2:
-               case XFER_PIO_1:
-               case XFER_PIO_0:
-                       cs5530_tunepio(drive, mode - XFER_PIO_0);
-                       return 0;
                default:
                        BUG();
                        break;
@@ -308,7 +298,7 @@ static void __devinit init_hwif_cs5530 (ide_hwif_t *hwif)
        if (hwif->mate)
                hwif->serialized = hwif->mate->serialized = 1;
 
-       hwif->tuneproc = &cs5530_tuneproc;
+       hwif->set_pio_mode = &cs5530_set_pio_mode;
        hwif->speedproc = &cs5530_tune_chipset;
 
        basereg = CS5530_BASEREG(hwif);