[libata] sata_sis: use correct S/G table size
[cascardo/linux.git] / drivers / ata / ata_generic.c
index 44328a1..9032998 100644 (file)
@@ -34,7 +34,7 @@
 
 /**
  *     generic_set_mode        -       mode setting
- *     @ap: interface to set up
+ *     @link: link to set up
  *     @unused: returned device on error
  *
  *     Use a non standard set_mode function. We don't want to be tuned.
@@ -43,8 +43,9 @@
  *     and respect them.
  */
 
-static int generic_set_mode(struct ata_port *ap, struct ata_device **unused)
+static int generic_set_mode(struct ata_link *link, struct ata_device **unused)
 {
+       struct ata_port *ap = link->ap;
        int dma_enabled = 0;
        struct ata_device *dev;
 
@@ -52,7 +53,7 @@ static int generic_set_mode(struct ata_port *ap, struct ata_device **unused)
        if (ap->ioaddr.bmdma_addr)
                dma_enabled = ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS);
 
-       ata_link_for_each_dev(dev, &ap->link) {
+       ata_link_for_each_dev(dev, link) {
                if (ata_dev_enabled(dev)) {
                        /* We don't really care */
                        dev->pio_mode = XFER_PIO_0;
@@ -94,7 +95,6 @@ static struct scsi_host_template generic_sht = {
 static struct ata_port_operations generic_port_ops = {
        .set_mode       = generic_set_mode,
 
-       .port_disable   = ata_port_disable,
        .tf_load        = ata_tf_load,
        .tf_read        = ata_tf_read,
        .check_status   = ata_check_status,
@@ -120,9 +120,8 @@ static struct ata_port_operations generic_port_ops = {
        .irq_handler    = ata_interrupt,
        .irq_clear      = ata_bmdma_irq_clear,
        .irq_on         = ata_irq_on,
-       .irq_ack        = ata_irq_ack,
 
-       .port_start     = ata_port_start,
+       .port_start     = ata_sff_port_start,
 };
 
 static int all_generic_ide;            /* Set to claim all devices */