regulator: Initialise wm831x structure pointor for ISINK driver
[safe/jmp/linux-2.6] / drivers / ata / pata_legacy.c
index 6f985be..6932e56 100644 (file)
@@ -48,6 +48,7 @@
  *
  */
 
+#include <linux/async.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/pci.h>
@@ -285,10 +286,11 @@ static unsigned int pdc_data_xfer_vlb(struct ata_device *dev,
                        unsigned char *buf, unsigned int buflen, int rw)
 {
        int slop = buflen & 3;
+       struct ata_port *ap = dev->link->ap;
+
        /* 32bit I/O capable *and* we need to write a whole number of dwords */
        if (ata_id_has_dword_io(dev->id) && (slop == 0 || slop == 3)
                                        && (ap->pflags & ATA_PFLAG_PIO32)) {
-               struct ata_port *ap = dev->link->ap;
                unsigned long flags;
 
                local_irq_save(flags);
@@ -866,7 +868,7 @@ static struct legacy_controller controllers[] = {
                        0,                      0,                      NULL },
        {"PDC20230",    &pdc20230_port_ops,     0x7,
                        ATA_FLAG_NO_IORDY,
-                       ATA_PFLAG_PIO32 | ATA_PFLAG_PIO32_CHANGE,       NULL },
+                       ATA_PFLAG_PIO32 | ATA_PFLAG_PIO32CHANGE,        NULL },
        {"HT6560A",     &ht6560a_port_ops,      0x07,
                        ATA_FLAG_NO_IORDY,      0,                      NULL },
        {"HT6560B",     &ht6560b_port_ops,      0x1F,
@@ -877,13 +879,13 @@ static struct legacy_controller controllers[] = {
                        0,                      0,                      NULL },
        {"QDI6500",     &qdi6500_port_ops,      0x07,
                        ATA_FLAG_NO_IORDY,
-                       ATA_PFLAG_PIO32 | ATA_PFLAG_PIO32_CHANGE,    qdi_port },
+                       ATA_PFLAG_PIO32 | ATA_PFLAG_PIO32CHANGE,    qdi_port },
        {"QDI6580",     &qdi6580_port_ops,      0x1F,
-                       0, ATA_PFLAG_PIO32 | ATA_PFLAG_PIO32_CHANGE, qdi_port },
+                       0, ATA_PFLAG_PIO32 | ATA_PFLAG_PIO32CHANGE, qdi_port },
        {"QDI6580DP",   &qdi6580dp_port_ops,    0x1F,
-                       0, ATA_PFLAG_PIO32 | ATA_PFLAG_PIO32_CHANGE, qdi_port },
+                       0, ATA_PFLAG_PIO32 | ATA_PFLAG_PIO32CHANGE, qdi_port },
        {"W83759A",     &winbond_port_ops,      0x1F,
-                       0, ATA_PFLAG_PIO32 | ATA_PFLAG_PIO32_CHANGE,
+                       0, ATA_PFLAG_PIO32 | ATA_PFLAG_PIO32CHANGE,
                                                                winbond_port }
 };
 
@@ -1027,6 +1029,7 @@ static __init int legacy_init_one(struct legacy_probe *probe)
                                &legacy_sht);
        if (ret)
                goto fail;
+       async_synchronize_full();
        ld->platform_dev = pdev;
 
        /* Nothing found means we drop the port as its probably not there */