]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ata/pata_ali.c
libata sg chaining support fix
[linux-2.6-omap-h63xx.git] / drivers / ata / pata_ali.c
index e8a28e94fe476a0a8adcfd09131d999de9f7489f..364534e7aff4522105d1c043502e15da2ddfa1d3 100644 (file)
 #include <linux/dmi.h>
 
 #define DRV_NAME "pata_ali"
-#define DRV_VERSION "0.7.4"
+#define DRV_VERSION "0.7.5"
 
 /*
  *     Cable special cases
  */
 
-static struct dmi_system_id cable_dmi_table[] = {
+static const struct dmi_system_id cable_dmi_table[] = {
        {
                .ident = "HP Pavilion N5430",
                .matches = {
@@ -48,6 +48,13 @@ static struct dmi_system_id cable_dmi_table[] = {
                        DMI_MATCH(DMI_BOARD_VERSION, "OmniBook N32N-736"),
                },
        },
+       {
+               .ident = "Toshiba Satelite S1800-814",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "S1800-814"),
+               },
+       },
        { }
 };
 
@@ -298,7 +305,6 @@ static struct scsi_host_template ali_sht = {
  */
 
 static struct ata_port_operations ali_early_port_ops = {
-       .port_disable   = ata_port_disable,
        .set_piomode    = ali_set_piomode,
        .tf_load        = ata_tf_load,
        .tf_read        = ata_tf_read,
@@ -320,9 +326,8 @@ static struct ata_port_operations ali_early_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,
 };
 
 /*
@@ -330,8 +335,6 @@ static struct ata_port_operations ali_early_port_ops = {
  *     detect
  */
 static struct ata_port_operations ali_20_port_ops = {
-       .port_disable   = ata_port_disable,
-
        .set_piomode    = ali_set_piomode,
        .set_dmamode    = ali_set_dmamode,
        .mode_filter    = ali_20_filter,
@@ -362,16 +365,14 @@ static struct ata_port_operations ali_20_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,
 };
 
 /*
  *     Port operations for DMA capable ALi with cable detect
  */
 static struct ata_port_operations ali_c2_port_ops = {
-       .port_disable   = ata_port_disable,
        .set_piomode    = ali_set_piomode,
        .set_dmamode    = ali_set_dmamode,
        .mode_filter    = ata_pci_default_filter,
@@ -401,16 +402,14 @@ static struct ata_port_operations ali_c2_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,
 };
 
 /*
  *     Port operations for DMA capable ALi with cable detect and LBA48
  */
 static struct ata_port_operations ali_c5_port_ops = {
-       .port_disable   = ata_port_disable,
        .set_piomode    = ali_set_piomode,
        .set_dmamode    = ali_set_dmamode,
        .mode_filter    = ata_pci_default_filter,
@@ -439,9 +438,8 @@ static struct ata_port_operations ali_c5_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,
 };