]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ide/pci/hpt366.c
Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb
[linux-2.6-omap-h63xx.git] / drivers / ide / pci / hpt366.c
index a194022b6a61b39260169d275278cdd5f1cc119b..a7909e9c720e5741d402ceeee78b1d83322dabbe 100644 (file)
@@ -3,7 +3,7 @@
  * Portions Copyright (C) 2001         Sun Microsystems, Inc.
  * Portions Copyright (C) 2003         Red Hat Inc
  * Portions Copyright (C) 2007         Bartlomiej Zolnierkiewicz
- * Portions Copyright (C) 2005-2007    MontaVista Software, Inc.
+ * Portions Copyright (C) 2005-2008    MontaVista Software, Inc.
  *
  * Thanks to HighPoint Technologies for their assistance, and hardware.
  * Special Thanks to Jon Burchmore in SanDiego for the deep pockets, his
@@ -748,26 +748,24 @@ static void hpt3xx_maskproc(ide_drive_t *drive, int mask)
        struct pci_dev  *dev    = to_pci_dev(hwif->dev);
        struct hpt_info *info   = hpt3xx_get_info(hwif->dev);
 
-       if (drive->quirk_list) {
-               if (info->chip_type >= HPT370) {
-                       u8 scr1 = 0;
-
-                       pci_read_config_byte(dev, 0x5a, &scr1);
-                       if (((scr1 & 0x10) >> 4) != mask) {
-                               if (mask)
-                                       scr1 |=  0x10;
-                               else
-                                       scr1 &= ~0x10;
-                               pci_write_config_byte(dev, 0x5a, scr1);
-                       }
-               } else {
+       if (drive->quirk_list == 0)
+               return;
+
+       if (info->chip_type >= HPT370) {
+               u8 scr1 = 0;
+
+               pci_read_config_byte(dev, 0x5a, &scr1);
+               if (((scr1 & 0x10) >> 4) != mask) {
                        if (mask)
-                               disable_irq(hwif->irq);
+                               scr1 |=  0x10;
                        else
-                               enable_irq (hwif->irq);
+                               scr1 &= ~0x10;
+                       pci_write_config_byte(dev, 0x5a, scr1);
                }
-       } else
-               outb(ATA_DEVCTL_OBS | (mask ? 2 : 0), hwif->io_ports.ctl_addr);
+       } else if (mask)
+               disable_irq(hwif->irq);
+       else
+               enable_irq(hwif->irq);
 }
 
 /*
@@ -835,7 +833,7 @@ static int hpt370_dma_end(ide_drive_t *drive)
                if (dma_stat & 0x01)
                        hpt370_irq_timeout(drive);
        }
-       return __ide_dma_end(drive);
+       return ide_dma_end(drive);
 }
 
 static void hpt370_dma_timeout(ide_drive_t *drive)
@@ -863,9 +861,6 @@ static int hpt374_dma_test_irq(ide_drive_t *drive)
        if (dma_stat & 4)
                return 1;
 
-       if (!drive->waiting_for_dma)
-               printk(KERN_WARNING "%s: (%s) called while not waiting\n",
-                               drive->name, __func__);
        return 0;
 }
 
@@ -880,7 +875,7 @@ static int hpt374_dma_end(ide_drive_t *drive)
        pci_read_config_byte(dev, mcr_addr, &mcr);
        if (bwsr & mask)
                pci_write_config_byte(dev, mcr_addr, mcr | 0x30);
-       return __ide_dma_end(drive);
+       return ide_dma_end(drive);
 }
 
 /**
@@ -1292,7 +1287,6 @@ static u8 hpt3xx_cable_detect(ide_hwif_t *hwif)
 
 static void __devinit init_hwif_hpt366(ide_hwif_t *hwif)
 {
-       struct pci_dev *dev     = to_pci_dev(hwif->dev);
        struct hpt_info *info   = hpt3xx_get_info(hwif->dev);
        int serialize           = HPT_SERIALIZE_IO;
        u8  chip_type           = info->chip_type;
@@ -1456,7 +1450,7 @@ static const struct ide_dma_ops hpt36x_dma_ops = {
        .dma_setup              = ide_dma_setup,
        .dma_exec_cmd           = ide_dma_exec_cmd,
        .dma_start              = ide_dma_start,
-       .dma_end                = __ide_dma_end,
+       .dma_end                = ide_dma_end,
        .dma_test_irq           = ide_dma_test_irq,
        .dma_lost_irq           = hpt366_dma_lost_irq,
        .dma_timeout            = ide_dma_timeout,
@@ -1622,7 +1616,7 @@ static const struct pci_device_id hpt366_pci_tbl[] __devinitconst = {
 };
 MODULE_DEVICE_TABLE(pci, hpt366_pci_tbl);
 
-static struct pci_driver driver = {
+static struct pci_driver hpt366_pci_driver = {
        .name           = "HPT366_IDE",
        .id_table       = hpt366_pci_tbl,
        .probe          = hpt366_init_one,
@@ -1633,12 +1627,12 @@ static struct pci_driver driver = {
 
 static int __init hpt366_ide_init(void)
 {
-       return ide_pci_register_driver(&driver);
+       return ide_pci_register_driver(&hpt366_pci_driver);
 }
 
 static void __exit hpt366_ide_exit(void)
 {
-       pci_unregister_driver(&driver);
+       pci_unregister_driver(&hpt366_pci_driver);
 }
 
 module_init(hpt366_ide_init);