]> err.no Git - linux-2.6/blobdiff - drivers/ata/pata_via.c
sysctl: for irda update sysctl_checks list of binary paths
[linux-2.6] / drivers / ata / pata_via.c
index b612808a319e2cc7da01bedb6d5b202ced8699ef..5d41b6612d7f2626189e6a2653f47153f0cfd282 100644 (file)
@@ -184,6 +184,9 @@ static int via_cable_detect(struct ata_port *ap) {
           two drives */
        if (ata66 & (0x10100000 >> (16 * ap->port_no)))
                return ATA_CBL_PATA80;
+       /* Check with ACPI so we can spot BIOS reported SATA bridges */
+       if (ata_acpi_cbl_80wire(ap))
+               return ATA_CBL_PATA80;
        return ATA_CBL_PATA40;
 }
 
@@ -345,7 +348,6 @@ static struct scsi_host_template via_sht = {
 };
 
 static struct ata_port_operations via_port_ops = {
-       .port_disable   = ata_port_disable,
        .set_piomode    = via_set_piomode,
        .set_dmamode    = via_set_dmamode,
        .mode_filter    = ata_pci_default_filter,
@@ -375,13 +377,11 @@ static struct ata_port_operations via_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 struct ata_port_operations via_port_ops_noirq = {
-       .port_disable   = ata_port_disable,
        .set_piomode    = via_set_piomode,
        .set_dmamode    = via_set_dmamode,
        .mode_filter    = ata_pci_default_filter,
@@ -411,9 +411,8 @@ static struct ata_port_operations via_port_ops_noirq = {
        .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,
 };
 
 /**