diff options
author | Tejun Heo <tj@kernel.org> | 2010-05-10 15:41:30 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2010-05-17 22:49:02 -0400 |
commit | 3e4ec3443f70fbe144799ccf0b1c3797f78d1715 (patch) | |
tree | cfb297e42075baacbbabfb6034e3e7c9a44c73b2 /include/linux/libata.h | |
parent | c7a8209f766961eea4cfc6f22d2d6e06ef63546c (diff) |
libata: kill ATA_FLAG_DISABLED
ATA_FLAG_DISABLED is only used by drivers which don't use
->error_handler framework and is largely broken. Its only meaningful
function is to make irq handlers skip processing if the flag is set,
which is largely useless and even harmful as it makes those ports more
likely to cause IRQ storms.
Kill ATA_FLAG_DISABLED and makes the callers disable attached devices
instead. ata_port_probe() and ata_port_disable() which manipulate the
flag are also killed.
This simplifies condition check in IRQ handlers. While updating IRQ
handlers, remove ap NULL check as libata guarantees consecutive port
allocation (unoccupied ports are initialized with dummies) and
long-obsolete ATA_QCFLAG_ACTIVE check (checked by ata_qc_from_tag()).
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r-- | include/linux/libata.h | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index af700923a393..bd1b2b49e121 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -202,12 +202,6 @@ enum { | |||
202 | ATA_FLAG_SW_ACTIVITY = (1 << 22), /* driver supports sw activity | 202 | ATA_FLAG_SW_ACTIVITY = (1 << 22), /* driver supports sw activity |
203 | * led */ | 203 | * led */ |
204 | 204 | ||
205 | /* The following flag belongs to ap->pflags but is kept in | ||
206 | * ap->flags because it's referenced in many LLDs and will be | ||
207 | * removed in not-too-distant future. | ||
208 | */ | ||
209 | ATA_FLAG_DISABLED = (1 << 23), /* port is disabled, ignore it */ | ||
210 | |||
211 | /* bits 24:31 of ap->flags are reserved for LLD specific flags */ | 205 | /* bits 24:31 of ap->flags are reserved for LLD specific flags */ |
212 | 206 | ||
213 | 207 | ||
@@ -937,7 +931,6 @@ static inline int ata_port_is_dummy(struct ata_port *ap) | |||
937 | return ap->ops == &ata_dummy_port_ops; | 931 | return ap->ops == &ata_dummy_port_ops; |
938 | } | 932 | } |
939 | 933 | ||
940 | extern void ata_port_probe(struct ata_port *); | ||
941 | extern int sata_set_spd(struct ata_link *link); | 934 | extern int sata_set_spd(struct ata_link *link); |
942 | extern int ata_std_prereset(struct ata_link *link, unsigned long deadline); | 935 | extern int ata_std_prereset(struct ata_link *link, unsigned long deadline); |
943 | extern int ata_wait_after_reset(struct ata_link *link, unsigned long deadline, | 936 | extern int ata_wait_after_reset(struct ata_link *link, unsigned long deadline, |
@@ -952,7 +945,6 @@ extern int sata_link_hardreset(struct ata_link *link, | |||
952 | extern int sata_std_hardreset(struct ata_link *link, unsigned int *class, | 945 | extern int sata_std_hardreset(struct ata_link *link, unsigned int *class, |
953 | unsigned long deadline); | 946 | unsigned long deadline); |
954 | extern void ata_std_postreset(struct ata_link *link, unsigned int *classes); | 947 | extern void ata_std_postreset(struct ata_link *link, unsigned int *classes); |
955 | extern void ata_port_disable(struct ata_port *); | ||
956 | 948 | ||
957 | extern struct ata_host *ata_host_alloc(struct device *dev, int max_ports); | 949 | extern struct ata_host *ata_host_alloc(struct device *dev, int max_ports); |
958 | extern struct ata_host *ata_host_alloc_pinfo(struct device *dev, | 950 | extern struct ata_host *ata_host_alloc_pinfo(struct device *dev, |