summaryrefslogtreecommitdiff
path: root/drivers/ide/pci/scc_pata.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-02-02 19:56:29 +0100
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-02-02 19:56:29 +0100
commitb4d1c73dcd2b3575921df06f42217bc281b83a9b (patch)
tree11121631fa44292c6bae4b66c06c1f583ce5f8f5 /drivers/ide/pci/scc_pata.c
parentbd38dd3c13c143c60d6284d145bf1273a0f64004 (diff)
atiixp/cs5535/scc_pata: fix "idex=ata66" parameter handling
Don't override the cable type if the "idex=ata66" parameter was used. While at it: * atiixp.c: factor out cable detection to atiixp_cable_detect() from init_hwif_atiixp(). * cs5535.c: pass 'ide_hwif_t *hwif' instead of 'struct pci_dev *dev' to cs5535_cable_detect(). * scc_pata.c: factor out cable detection to scc_cable_detect() from init_hwif_scc() and remove incorrect comment. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci/scc_pata.c')
-rw-r--r--drivers/ide/pci/scc_pata.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/ide/pci/scc_pata.c b/drivers/ide/pci/scc_pata.c
index 7694969b02ce..dcd44d7c0846 100644
--- a/drivers/ide/pci/scc_pata.c
+++ b/drivers/ide/pci/scc_pata.c
@@ -644,6 +644,11 @@ static void __devinit init_iops_scc(ide_hwif_t *hwif)
init_mmio_iops_scc(hwif);
}
+static u8 __devinit scc_cable_detect(ide_hwif_t *hwif)
+{
+ return ATA_CBL_PATA80;
+}
+
/**
* init_hwif_scc - set up hwif
* @hwif: interface to set up
@@ -678,8 +683,8 @@ static void __devinit init_hwif_scc(ide_hwif_t *hwif)
else
hwif->ultra_mask = ATA_UDMA5; /* 100MHz */
- /* we support 80c cable only. */
- hwif->cbl = ATA_CBL_PATA80;
+ if (hwif->cbl != ATA_CBL_PATA40_SHORT)
+ hwif->cbl = scc_cable_detect(hwif);
}
#define DECLARE_SCC_DEV(name_str) \