diff options
Diffstat (limited to 'drivers/ata/pata_sil680.c')
| -rw-r--r-- | drivers/ata/pata_sil680.c | 32 | 
1 files changed, 2 insertions, 30 deletions
| diff --git a/drivers/ata/pata_sil680.c b/drivers/ata/pata_sil680.c index 5c1e9cb59ecb..503245a1eafa 100644 --- a/drivers/ata/pata_sil680.c +++ b/drivers/ata/pata_sil680.c | |||
| @@ -33,7 +33,7 @@ | |||
| 33 | #include <linux/libata.h> | 33 | #include <linux/libata.h> | 
| 34 | 34 | ||
| 35 | #define DRV_NAME "pata_sil680" | 35 | #define DRV_NAME "pata_sil680" | 
| 36 | #define DRV_VERSION "0.4.7" | 36 | #define DRV_VERSION "0.4.8" | 
| 37 | 37 | ||
| 38 | #define SIL680_MMIO_BAR 5 | 38 | #define SIL680_MMIO_BAR 5 | 
| 39 | 39 | ||
| @@ -94,34 +94,6 @@ static int sil680_cable_detect(struct ata_port *ap) { | |||
| 94 | } | 94 | } | 
| 95 | 95 | ||
| 96 | /** | 96 | /** | 
| 97 | * sil680_bus_reset - reset the SIL680 bus | ||
| 98 | * @link: ATA link to reset | ||
| 99 | * @deadline: deadline jiffies for the operation | ||
| 100 | * | ||
| 101 | * Perform the SIL680 housekeeping when doing an ATA bus reset | ||
| 102 | */ | ||
| 103 | |||
| 104 | static int sil680_bus_reset(struct ata_link *link, unsigned int *classes, | ||
| 105 | unsigned long deadline) | ||
| 106 | { | ||
| 107 | struct ata_port *ap = link->ap; | ||
| 108 | struct pci_dev *pdev = to_pci_dev(ap->host->dev); | ||
| 109 | unsigned long addr = sil680_selreg(ap, 0); | ||
| 110 | u8 reset; | ||
| 111 | |||
| 112 | pci_read_config_byte(pdev, addr, &reset); | ||
| 113 | pci_write_config_byte(pdev, addr, reset | 0x03); | ||
| 114 | udelay(25); | ||
| 115 | pci_write_config_byte(pdev, addr, reset); | ||
| 116 | return ata_std_softreset(link, classes, deadline); | ||
| 117 | } | ||
| 118 | |||
| 119 | static void sil680_error_handler(struct ata_port *ap) | ||
| 120 | { | ||
| 121 | ata_bmdma_drive_eh(ap, ata_std_prereset, sil680_bus_reset, NULL, ata_std_postreset); | ||
| 122 | } | ||
| 123 | |||
| 124 | /** | ||
| 125 | * sil680_set_piomode - set initial PIO mode data | 97 | * sil680_set_piomode - set initial PIO mode data | 
| 126 | * @ap: ATA interface | 98 | * @ap: ATA interface | 
| 127 | * @adev: ATA device | 99 | * @adev: ATA device | 
| @@ -249,7 +221,7 @@ static struct ata_port_operations sil680_port_ops = { | |||
| 249 | 221 | ||
| 250 | .freeze = ata_bmdma_freeze, | 222 | .freeze = ata_bmdma_freeze, | 
| 251 | .thaw = ata_bmdma_thaw, | 223 | .thaw = ata_bmdma_thaw, | 
| 252 | .error_handler = sil680_error_handler, | 224 | .error_handler = ata_bmdma_error_handler, | 
| 253 | .post_internal_cmd = ata_bmdma_post_internal_cmd, | 225 | .post_internal_cmd = ata_bmdma_post_internal_cmd, | 
| 254 | .cable_detect = sil680_cable_detect, | 226 | .cable_detect = sil680_cable_detect, | 
| 255 | 227 | ||
