Merge branch 'tj-upstream-fixes' of git://htj.dyndns.org/libata-tj into tmp
[powerpc.git] / drivers / ata / sata_promise.c
index d627812..72eda51 100644 (file)
@@ -93,7 +93,7 @@ struct pdc_host_priv {
 static u32 pdc_sata_scr_read (struct ata_port *ap, unsigned int sc_reg);
 static void pdc_sata_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);
 static int pdc_ata_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);
-static irqreturn_t pdc_interrupt (int irq, void *dev_instance, struct pt_regs *regs);
+static irqreturn_t pdc_interrupt (int irq, void *dev_instance);
 static void pdc_eng_timeout(struct ata_port *ap);
 static int pdc_port_start(struct ata_port *ap);
 static void pdc_port_stop(struct ata_port *ap);
@@ -234,49 +234,33 @@ static const struct ata_port_info pdc_port_info[] = {
 };
 
 static const struct pci_device_id pdc_ata_pci_tbl[] = {
-       { PCI_VENDOR_ID_PROMISE, 0x3371, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_2037x },
-       { PCI_VENDOR_ID_PROMISE, 0x3570, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_2037x },
-       { PCI_VENDOR_ID_PROMISE, 0x3571, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_2037x },
-       { PCI_VENDOR_ID_PROMISE, 0x3373, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_2037x },
-       { PCI_VENDOR_ID_PROMISE, 0x3375, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_2037x },
-       { PCI_VENDOR_ID_PROMISE, 0x3376, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_2037x },
-       { PCI_VENDOR_ID_PROMISE, 0x3574, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_2057x },
-       { PCI_VENDOR_ID_PROMISE, 0x3d75, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_2057x },
-       { PCI_VENDOR_ID_PROMISE, 0x3d73, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_2037x },
-
-       { PCI_VENDOR_ID_PROMISE, 0x3318, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_20319 },
-       { PCI_VENDOR_ID_PROMISE, 0x3319, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_20319 },
-       { PCI_VENDOR_ID_PROMISE, 0x3515, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_20319 },
-       { PCI_VENDOR_ID_PROMISE, 0x3519, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_20319 },
-       { PCI_VENDOR_ID_PROMISE, 0x3d17, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_20319 },
-       { PCI_VENDOR_ID_PROMISE, 0x3d18, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_40518 },
-
-       { PCI_VENDOR_ID_PROMISE, 0x6629, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_20619 },
+       { PCI_VDEVICE(PROMISE, 0x3371), board_2037x },
+       { PCI_VDEVICE(PROMISE, 0x3570), board_2037x },
+       { PCI_VDEVICE(PROMISE, 0x3571), board_2037x },
+       { PCI_VDEVICE(PROMISE, 0x3373), board_2037x },
+       { PCI_VDEVICE(PROMISE, 0x3375), board_2037x },
+       { PCI_VDEVICE(PROMISE, 0x3376), board_2037x },
+       { PCI_VDEVICE(PROMISE, 0x3574), board_2057x },
+       { PCI_VDEVICE(PROMISE, 0x3d75), board_2057x },
+       { PCI_VDEVICE(PROMISE, 0x3d73), board_2037x },
+
+       { PCI_VDEVICE(PROMISE, 0x3318), board_20319 },
+       { PCI_VDEVICE(PROMISE, 0x3319), board_20319 },
+       { PCI_VDEVICE(PROMISE, 0x3515), board_20319 },
+       { PCI_VDEVICE(PROMISE, 0x3519), board_20319 },
+       { PCI_VDEVICE(PROMISE, 0x3d17), board_20319 },
+       { PCI_VDEVICE(PROMISE, 0x3d18), board_40518 },
+
+       { PCI_VDEVICE(PROMISE, 0x6629), board_20619 },
 
 /* TODO: remove all associated board_20771 code, as it completely
  * duplicates board_2037x code, unless reason for separation can be
  * divined.
  */
 #if 0
-       { PCI_VENDOR_ID_PROMISE, 0x3570, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-         board_20771 },
+       { PCI_VDEVICE(PROMISE, 0x3570), board_20771 },
 #endif
+       { PCI_VDEVICE(PROMISE, 0x3577), board_20771 },
 
        { }     /* terminate list */
 };
@@ -377,7 +361,7 @@ static void pdc_sata_phy_reset(struct ata_port *ap)
 static void pdc_pata_cbl_detect(struct ata_port *ap)
 {
        u8 tmp;
-       void __iomem *mmio = (void *) ap->ioaddr.cmd_addr + PDC_CTLSTAT + 0x03;
+       void __iomem *mmio = (void __iomem *) ap->ioaddr.cmd_addr + PDC_CTLSTAT + 0x03;
 
        tmp = readb(mmio);
 
@@ -515,7 +499,7 @@ static void pdc_irq_clear(struct ata_port *ap)
        readl(mmio + PDC_INT_SEQMASK);
 }
 
-static irqreturn_t pdc_interrupt (int irq, void *dev_instance, struct pt_regs *regs)
+static irqreturn_t pdc_interrupt (int irq, void *dev_instance)
 {
        struct ata_host *host = dev_instance;
        struct ata_port *ap;