diff options
Diffstat (limited to 'drivers/ata/pata_cs5535.c')
-rw-r--r-- | drivers/ata/pata_cs5535.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/drivers/ata/pata_cs5535.c b/drivers/ata/pata_cs5535.c index 1572e5c9031a..08cccc9c659b 100644 --- a/drivers/ata/pata_cs5535.c +++ b/drivers/ata/pata_cs5535.c | |||
@@ -70,36 +70,23 @@ | |||
70 | #define CS5535_BAD_PIO(timings) ( (timings&~0x80000000UL)==0x00009172 ) | 70 | #define CS5535_BAD_PIO(timings) ( (timings&~0x80000000UL)==0x00009172 ) |
71 | 71 | ||
72 | /** | 72 | /** |
73 | * cs5535_pre_reset - detect cable type | 73 | * cs5535_cable_detect - detect cable type |
74 | * @ap: Port to detect on | 74 | * @ap: Port to detect on |
75 | * | 75 | * |
76 | * Perform cable detection for ATA66 capable cable. Return a libata | 76 | * Perform cable detection for ATA66 capable cable. Return a libata |
77 | * cable type. | 77 | * cable type. |
78 | */ | 78 | */ |
79 | 79 | ||
80 | static int cs5535_pre_reset(struct ata_port *ap) | 80 | static int cs5535_cable_detect(struct ata_port *ap) |
81 | { | 81 | { |
82 | u8 cable; | 82 | u8 cable; |
83 | struct pci_dev *pdev = to_pci_dev(ap->host->dev); | 83 | struct pci_dev *pdev = to_pci_dev(ap->host->dev); |
84 | 84 | ||
85 | pci_read_config_byte(pdev, CS5535_CABLE_DETECT, &cable); | 85 | pci_read_config_byte(pdev, CS5535_CABLE_DETECT, &cable); |
86 | if (cable & 1) | 86 | if (cable & 1) |
87 | ap->cbl = ATA_CBL_PATA80; | 87 | return ATA_CBL_PATA80; |
88 | else | 88 | else |
89 | ap->cbl = ATA_CBL_PATA40; | 89 | return ATA_CBL_PATA40; |
90 | return ata_std_prereset(ap); | ||
91 | } | ||
92 | |||
93 | /** | ||
94 | * cs5535_error_handler - reset/probe | ||
95 | * @ap: Port to reset | ||
96 | * | ||
97 | * Reset and configure a port | ||
98 | */ | ||
99 | |||
100 | static void cs5535_error_handler(struct ata_port *ap) | ||
101 | { | ||
102 | ata_bmdma_drive_eh(ap, cs5535_pre_reset, ata_std_softreset, NULL, ata_std_postreset); | ||
103 | } | 90 | } |
104 | 91 | ||
105 | /** | 92 | /** |
@@ -205,8 +192,9 @@ static struct ata_port_operations cs5535_port_ops = { | |||
205 | 192 | ||
206 | .freeze = ata_bmdma_freeze, | 193 | .freeze = ata_bmdma_freeze, |
207 | .thaw = ata_bmdma_thaw, | 194 | .thaw = ata_bmdma_thaw, |
208 | .error_handler = cs5535_error_handler, | 195 | .error_handler = ata_bmdma_error_handler, |
209 | .post_internal_cmd = ata_bmdma_post_internal_cmd, | 196 | .post_internal_cmd = ata_bmdma_post_internal_cmd, |
197 | .cable_detect = cs5535_cable_detect, | ||
210 | 198 | ||
211 | .bmdma_setup = ata_bmdma_setup, | 199 | .bmdma_setup = ata_bmdma_setup, |
212 | .bmdma_start = ata_bmdma_start, | 200 | .bmdma_start = ata_bmdma_start, |