ide: use I/O ops directly part #2 (take 2)
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Thu, 18 Oct 2007 22:30:08 +0000 (00:30 +0200)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Thu, 18 Oct 2007 22:30:08 +0000 (00:30 +0200)
v2:
- bump host driver versions (as suggested by Sergei)
- use I/O ops directly in drivers/ide/setup-pci.c

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/pci/hpt366.c
drivers/ide/pci/piix.c
drivers/ide/pci/tc86c001.c
drivers/ide/setup-pci.c

index e643b9654c75655156b7e6cb4659ba53c9ea54ab..26c15f20537ee17596c6e15faa348fbc6ff2ad0d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * linux/drivers/ide/pci/hpt366.c              Version 1.14    Oct 1, 2007
+ * linux/drivers/ide/pci/hpt366.c              Version 1.15    Oct 1, 2007
  *
  * Copyright (C) 1999-2003             Andre Hedrick <andre@linux-ide.org>
  * Portions Copyright (C) 2001         Sun Microsystems, Inc.
@@ -676,12 +676,11 @@ static int hpt3xx_quirkproc(ide_drive_t *drive)
 
 static void hpt3xx_intrproc(ide_drive_t *drive)
 {
-       ide_hwif_t *hwif = HWIF(drive);
-
        if (drive->quirk_list)
                return;
+
        /* drives in the quirk_list may not like intr setups/cleanups */
-       hwif->OUTB(drive->ctl | 2, IDE_CONTROL_REG);
+       outb(drive->ctl | 2, IDE_CONTROL_REG);
 }
 
 static void hpt3xx_maskproc(ide_drive_t *drive, int mask)
@@ -709,8 +708,8 @@ static void hpt3xx_maskproc(ide_drive_t *drive, int mask)
                                enable_irq (hwif->irq);
                }
        } else
-               hwif->OUTB(mask ? (drive->ctl | 2) : (drive->ctl & ~2),
-                          IDE_CONTROL_REG);
+               outb(mask ? (drive->ctl | 2) : (drive->ctl & ~2),
+                    IDE_CONTROL_REG);
 }
 
 /*
@@ -750,9 +749,9 @@ static void hpt370_irq_timeout(ide_drive_t *drive)
        printk(KERN_DEBUG "%s: %d bytes in FIFO\n", drive->name, bfifo & 0x1ff);
 
        /* get DMA command mode */
-       dma_cmd = hwif->INB(hwif->dma_command);
+       dma_cmd = inb(hwif->dma_command);
        /* stop DMA */
-       hwif->OUTB(dma_cmd & ~0x1, hwif->dma_command);
+       outb(dma_cmd & ~0x1, hwif->dma_command);
        hpt370_clear_engine(drive);
 }
 
@@ -767,12 +766,12 @@ static void hpt370_ide_dma_start(ide_drive_t *drive)
 static int hpt370_ide_dma_end(ide_drive_t *drive)
 {
        ide_hwif_t *hwif        = HWIF(drive);
-       u8  dma_stat            = hwif->INB(hwif->dma_status);
+       u8  dma_stat            = inb(hwif->dma_status);
 
        if (dma_stat & 0x01) {
                /* wait a little */
                udelay(20);
-               dma_stat = hwif->INB(hwif->dma_status);
+               dma_stat = inb(hwif->dma_status);
                if (dma_stat & 0x01)
                        hpt370_irq_timeout(drive);
        }
@@ -833,34 +832,32 @@ static int hpt374_ide_dma_end(ide_drive_t *drive)
 
 static void hpt3xxn_set_clock(ide_hwif_t *hwif, u8 mode)
 {
-       u8 scr2 = hwif->INB(hwif->dma_master + 0x7b);
+       u8 scr2 = inb(hwif->dma_master + 0x7b);
 
        if ((scr2 & 0x7f) == mode)
                return;
 
        /* Tristate the bus */
-       hwif->OUTB(0x80, hwif->dma_master + 0x73);
-       hwif->OUTB(0x80, hwif->dma_master + 0x77);
+       outb(0x80, hwif->dma_master + 0x73);
+       outb(0x80, hwif->dma_master + 0x77);
 
        /* Switch clock and reset channels */
-       hwif->OUTB(mode, hwif->dma_master + 0x7b);
-       hwif->OUTB(0xc0, hwif->dma_master + 0x79);
+       outb(mode, hwif->dma_master + 0x7b);
+       outb(0xc0, hwif->dma_master + 0x79);
 
        /*
         * Reset the state machines.
         * NOTE: avoid accidentally enabling the disabled channels.
         */
-       hwif->OUTB(hwif->INB(hwif->dma_master + 0x70) | 0x32,
-                  hwif->dma_master + 0x70);
-       hwif->OUTB(hwif->INB(hwif->dma_master + 0x74) | 0x32,
-                  hwif->dma_master + 0x74);
+       outb(inb(hwif->dma_master + 0x70) | 0x32, hwif->dma_master + 0x70);
+       outb(inb(hwif->dma_master + 0x74) | 0x32, hwif->dma_master + 0x74);
 
        /* Complete reset */
-       hwif->OUTB(0x00, hwif->dma_master + 0x79);
+       outb(0x00, hwif->dma_master + 0x79);
 
        /* Reconnect channels to bus */
-       hwif->OUTB(0x00, hwif->dma_master + 0x73);
-       hwif->OUTB(0x00, hwif->dma_master + 0x77);
+       outb(0x00, hwif->dma_master + 0x73);
+       outb(0x00, hwif->dma_master + 0x77);
 }
 
 /**
@@ -1351,7 +1348,7 @@ static void __devinit init_dma_hpt366(ide_hwif_t *hwif, unsigned long dmabase)
        u8 dma_new      = 0, dma_old    = 0;
        unsigned long flags;
 
-       dma_old = hwif->INB(dmabase + 2);
+       dma_old = inb(dmabase + 2);
 
        local_irq_save(flags);
 
@@ -1362,7 +1359,7 @@ static void __devinit init_dma_hpt366(ide_hwif_t *hwif, unsigned long dmabase)
        if (masterdma & 0x30)   dma_new |= 0x20;
        if ( slavedma & 0x30)   dma_new |= 0x40;
        if (dma_new != dma_old)
-               hwif->OUTB(dma_new, dmabase + 2);
+               outb(dma_new, dmabase + 2);
 
        local_irq_restore(flags);
 
index cbfc27b92ede03a3c49e35f7b1f23ef7761cd79e..3f3879cff3c19d9d01736da646063c22ee9ff18d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  linux/drivers/ide/pci/piix.c       Version 0.53    Aug 9, 2007
+ *  linux/drivers/ide/pci/piix.c       Version 0.54    Sep 5, 2007
  *
  *  Copyright (C) 1998-1999 Andrzej Krzysztofowicz, Author and Maintainer
  *  Copyright (C) 1998-2000 Andre Hedrick <andre@linux-ide.org>
@@ -318,9 +318,9 @@ static void piix_dma_clear_irq(ide_drive_t *drive)
        u8 dma_stat;
 
        /* clear the INTR & ERROR bits */
-       dma_stat = hwif->INB(hwif->dma_status);
+       dma_stat = inb(hwif->dma_status);
        /* Should we force the bit as well ? */
-       hwif->OUTB(dma_stat, hwif->dma_status);
+       outb(dma_stat, hwif->dma_status);
 }
 
 struct ich_laptop {
index 9f50927e90982091be10bc4b4563fe13456130b4..04fe9b7f6e72e49f3efaa56f078ffa9108b06464 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * drivers/ide/pci/tc86c001.c  Version 1.00    Dec 12, 2006
+ * drivers/ide/pci/tc86c001.c  Version 1.01    Sep 5, 2007
  *
  * Copyright (C) 2002 Toshiba Corporation
  * Copyright (C) 2005-2006 MontaVista Software, Inc. <source@mvista.com>
@@ -17,7 +17,7 @@ static void tc86c001_set_mode(ide_drive_t *drive, const u8 speed)
 {
        ide_hwif_t *hwif        = HWIF(drive);
        unsigned long scr_port  = hwif->config_data + (drive->dn ? 0x02 : 0x00);
-       u16 mode, scr           = hwif->INW(scr_port);
+       u16 mode, scr           = inw(scr_port);
 
        switch (speed) {
                case XFER_UDMA_4:       mode = 0x00c0; break;
@@ -65,7 +65,7 @@ static int tc86c001_timer_expiry(ide_drive_t *drive)
        ide_hwif_t *hwif        = HWIF(drive);
        ide_expiry_t *expiry    = ide_get_hwifdata(hwif);
        ide_hwgroup_t *hwgroup  = HWGROUP(drive);
-       u8 dma_stat             = hwif->INB(hwif->dma_status);
+       u8 dma_stat             = inb(hwif->dma_status);
 
        /* Restore a higher level driver's expiry handler first. */
        hwgroup->expiry = expiry;
@@ -73,7 +73,7 @@ static int tc86c001_timer_expiry(ide_drive_t *drive)
        if ((dma_stat & 5) == 1) {      /* DMA active and no interrupt */
                unsigned long sc_base   = hwif->config_data;
                unsigned long twcr_port = sc_base + (drive->dn ? 0x06 : 0x04);
-               u8 dma_cmd              = hwif->INB(hwif->dma_command);
+               u8 dma_cmd              = inb(hwif->dma_command);
 
                printk(KERN_WARNING "%s: DMA interrupt possibly stuck, "
                       "attempting recovery...\n", drive->name);
@@ -135,7 +135,7 @@ static int tc86c001_busproc(ide_drive_t *drive, int state)
        u16 scr1;
 
        /* System Control 1 Register bit 11 (ATA Hard Reset) read */
-       scr1 = hwif->INW(sc_base + 0x00);
+       scr1 = inw(sc_base + 0x00);
 
        switch (state) {
                case BUSSTATE_ON:
@@ -165,7 +165,7 @@ static int tc86c001_busproc(ide_drive_t *drive, int state)
 static void __devinit init_hwif_tc86c001(ide_hwif_t *hwif)
 {
        unsigned long sc_base   = pci_resource_start(hwif->pci_dev, 5);
-       u16 scr1                = hwif->INW(sc_base + 0x00);;
+       u16 scr1                = inw(sc_base + 0x00);
 
        /* System Control 1 Register bit 15 (Soft Reset) set */
        outw(scr1 |  0x8000, sc_base + 0x00);
@@ -205,7 +205,7 @@ static void __devinit init_hwif_tc86c001(ide_hwif_t *hwif)
                 * System Control  1 Register bit 13 (PDIAGN):
                 * 0=80-pin cable, 1=40-pin cable
                 */
-               scr1 = hwif->INW(sc_base + 0x00);
+               scr1 = inw(sc_base + 0x00);
                hwif->cbl = (scr1 & 0x2000) ? ATA_CBL_PATA40 : ATA_CBL_PATA80;
        }
 }
index f187889de70f2287ad352026e22ac7018cdcece3..1da9935ba9482962b59b90a8951388a791490e24 100644 (file)
@@ -185,9 +185,9 @@ static unsigned long ide_get_or_set_dma_base(ide_pci_device_t *d, ide_hwif_t *hw
                        case PCI_DEVICE_ID_CMD_643:
                        case PCI_DEVICE_ID_SERVERWORKS_CSB5IDE:
                        case PCI_DEVICE_ID_REVOLUTION:
-                               simplex_stat = hwif->INB(dma_base + 2);
-                               hwif->OUTB((simplex_stat&0x60),(dma_base + 2));
-                               simplex_stat = hwif->INB(dma_base + 2);
+                               simplex_stat = inb(dma_base + 2);
+                               outb(simplex_stat & 0x60, dma_base + 2);
+                               simplex_stat = inb(dma_base + 2);
                                if (simplex_stat & 0x80) {
                                        printk(KERN_INFO "%s: simplex device: "
                                                         "DMA forced\n",