aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-11-27 05:43:48 -0500
committerJeff Garzik <jeff@garzik.org>2008-01-23 05:24:12 -0500
commitc88f90c3779cd5e710f2acdf59ad2bd0380de98d (patch)
tree7b3d7464f03d2abdc105d07728cab0df67262a25 /drivers/ata
parent7dc951aefdc1dc20228691b04867fb6195864d67 (diff)
libata: add ATA_CBL_PATA_IGN
ATA_CBL_PATA_UNK indicates that the cable type can't be determined from the host side and might be either 80c or 40c. libata applies drive or other generic limit in this case. However, there are controllers where both host and drive side detections are misimplemented and the driver has to rely solely on private method - peeking BIOS or ACPI configuration or using some other private mechanism. This patch adds ATA_CBL_PATA_IGN which tells libata to ignore the cable type completely and just let the LLD determine the transfer mode via host transfer mode masks and ->mode_filter(). Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-core.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 711595390996..62c4b328b0b6 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2354,6 +2354,18 @@ int ata_cable_unknown(struct ata_port *ap)
2354} 2354}
2355 2355
2356/** 2356/**
2357 * ata_cable_ignore - return ignored PATA cable.
2358 * @ap: port
2359 *
2360 * Helper method for drivers which don't use cable type to limit
2361 * transfer mode.
2362 */
2363int ata_cable_ignore(struct ata_port *ap)
2364{
2365 return ATA_CBL_PATA_IGN;
2366}
2367
2368/**
2357 * ata_cable_sata - return SATA cable type 2369 * ata_cable_sata - return SATA cable type
2358 * @ap: port 2370 * @ap: port
2359 * 2371 *
@@ -7665,4 +7677,5 @@ EXPORT_SYMBOL_GPL(ata_dev_try_classify);
7665EXPORT_SYMBOL_GPL(ata_cable_40wire); 7677EXPORT_SYMBOL_GPL(ata_cable_40wire);
7666EXPORT_SYMBOL_GPL(ata_cable_80wire); 7678EXPORT_SYMBOL_GPL(ata_cable_80wire);
7667EXPORT_SYMBOL_GPL(ata_cable_unknown); 7679EXPORT_SYMBOL_GPL(ata_cable_unknown);
7680EXPORT_SYMBOL_GPL(ata_cable_ignore);
7668EXPORT_SYMBOL_GPL(ata_cable_sata); 7681EXPORT_SYMBOL_GPL(ata_cable_sata);