aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_amd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/pata_amd.c')
-rw-r--r--drivers/ata/pata_amd.c37
1 files changed, 14 insertions, 23 deletions
diff --git a/drivers/ata/pata_amd.c b/drivers/ata/pata_amd.c
index 3293cf9a7eb5..599ee266722c 100644
--- a/drivers/ata/pata_amd.c
+++ b/drivers/ata/pata_amd.c
@@ -25,7 +25,7 @@
25#include <linux/libata.h> 25#include <linux/libata.h>
26 26
27#define DRV_NAME "pata_amd" 27#define DRV_NAME "pata_amd"
28#define DRV_VERSION "0.2.3" 28#define DRV_VERSION "0.2.4"
29 29
30/** 30/**
31 * timing_setup - shared timing computation and load 31 * timing_setup - shared timing computation and load
@@ -137,11 +137,8 @@ static int amd_pre_reset(struct ata_port *ap)
137 struct pci_dev *pdev = to_pci_dev(ap->host->dev); 137 struct pci_dev *pdev = to_pci_dev(ap->host->dev);
138 u8 ata66; 138 u8 ata66;
139 139
140 if (!pci_test_config_bits(pdev, &amd_enable_bits[ap->port_no])) { 140 if (!pci_test_config_bits(pdev, &amd_enable_bits[ap->port_no]))
141 ata_port_disable(ap); 141 return -ENOENT;
142 printk(KERN_INFO "ata%u: port disabled. ignoring.\n", ap->id);
143 return 0;
144 }
145 142
146 pci_read_config_byte(pdev, 0x42, &ata66); 143 pci_read_config_byte(pdev, 0x42, &ata66);
147 if (ata66 & bitmask[ap->port_no]) 144 if (ata66 & bitmask[ap->port_no])
@@ -167,11 +164,9 @@ static int amd_early_pre_reset(struct ata_port *ap)
167 { 0x40, 1, 0x01, 0x01 } 164 { 0x40, 1, 0x01, 0x01 }
168 }; 165 };
169 166
170 if (!pci_test_config_bits(pdev, &amd_enable_bits[ap->port_no])) { 167 if (!pci_test_config_bits(pdev, &amd_enable_bits[ap->port_no]))
171 ata_port_disable(ap); 168 return -ENOENT;
172 printk(KERN_INFO "ata%u: port disabled. ignoring.\n", ap->id); 169
173 return 0;
174 }
175 /* No host side cable detection */ 170 /* No host side cable detection */
176 ap->cbl = ATA_CBL_PATA80; 171 ap->cbl = ATA_CBL_PATA80;
177 return ata_std_prereset(ap); 172 return ata_std_prereset(ap);
@@ -262,12 +257,8 @@ static int nv_pre_reset(struct ata_port *ap) {
262 u8 ata66; 257 u8 ata66;
263 u16 udma; 258 u16 udma;
264 259
265 if (!pci_test_config_bits(pdev, &nv_enable_bits[ap->port_no])) { 260 if (!pci_test_config_bits(pdev, &nv_enable_bits[ap->port_no]))
266 ata_port_disable(ap); 261 return -ENOENT;
267 printk(KERN_INFO "ata%u: port disabled. ignoring.\n", ap->id);
268 return 0;
269 }
270
271 262
272 pci_read_config_byte(pdev, 0x52, &ata66); 263 pci_read_config_byte(pdev, 0x52, &ata66);
273 if (ata66 & bitmask[ap->port_no]) 264 if (ata66 & bitmask[ap->port_no])
@@ -368,7 +359,7 @@ static struct ata_port_operations amd33_port_ops = {
368 359
369 .qc_prep = ata_qc_prep, 360 .qc_prep = ata_qc_prep,
370 .qc_issue = ata_qc_issue_prot, 361 .qc_issue = ata_qc_issue_prot,
371 .eng_timeout = ata_eng_timeout, 362
372 .data_xfer = ata_pio_data_xfer, 363 .data_xfer = ata_pio_data_xfer,
373 364
374 .irq_handler = ata_interrupt, 365 .irq_handler = ata_interrupt,
@@ -402,7 +393,7 @@ static struct ata_port_operations amd66_port_ops = {
402 393
403 .qc_prep = ata_qc_prep, 394 .qc_prep = ata_qc_prep,
404 .qc_issue = ata_qc_issue_prot, 395 .qc_issue = ata_qc_issue_prot,
405 .eng_timeout = ata_eng_timeout, 396
406 .data_xfer = ata_pio_data_xfer, 397 .data_xfer = ata_pio_data_xfer,
407 398
408 .irq_handler = ata_interrupt, 399 .irq_handler = ata_interrupt,
@@ -436,7 +427,7 @@ static struct ata_port_operations amd100_port_ops = {
436 427
437 .qc_prep = ata_qc_prep, 428 .qc_prep = ata_qc_prep,
438 .qc_issue = ata_qc_issue_prot, 429 .qc_issue = ata_qc_issue_prot,
439 .eng_timeout = ata_eng_timeout, 430
440 .data_xfer = ata_pio_data_xfer, 431 .data_xfer = ata_pio_data_xfer,
441 432
442 .irq_handler = ata_interrupt, 433 .irq_handler = ata_interrupt,
@@ -470,7 +461,7 @@ static struct ata_port_operations amd133_port_ops = {
470 461
471 .qc_prep = ata_qc_prep, 462 .qc_prep = ata_qc_prep,
472 .qc_issue = ata_qc_issue_prot, 463 .qc_issue = ata_qc_issue_prot,
473 .eng_timeout = ata_eng_timeout, 464
474 .data_xfer = ata_pio_data_xfer, 465 .data_xfer = ata_pio_data_xfer,
475 466
476 .irq_handler = ata_interrupt, 467 .irq_handler = ata_interrupt,
@@ -504,7 +495,7 @@ static struct ata_port_operations nv100_port_ops = {
504 495
505 .qc_prep = ata_qc_prep, 496 .qc_prep = ata_qc_prep,
506 .qc_issue = ata_qc_issue_prot, 497 .qc_issue = ata_qc_issue_prot,
507 .eng_timeout = ata_eng_timeout, 498
508 .data_xfer = ata_pio_data_xfer, 499 .data_xfer = ata_pio_data_xfer,
509 500
510 .irq_handler = ata_interrupt, 501 .irq_handler = ata_interrupt,
@@ -538,7 +529,7 @@ static struct ata_port_operations nv133_port_ops = {
538 529
539 .qc_prep = ata_qc_prep, 530 .qc_prep = ata_qc_prep,
540 .qc_issue = ata_qc_issue_prot, 531 .qc_issue = ata_qc_issue_prot,
541 .eng_timeout = ata_eng_timeout, 532
542 .data_xfer = ata_pio_data_xfer, 533 .data_xfer = ata_pio_data_xfer,
543 534
544 .irq_handler = ata_interrupt, 535 .irq_handler = ata_interrupt,