aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/libata.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-05-10 15:41:30 -0400
committerJeff Garzik <jgarzik@redhat.com>2010-05-17 22:49:02 -0400
commit3e4ec3443f70fbe144799ccf0b1c3797f78d1715 (patch)
treecfb297e42075baacbbabfb6034e3e7c9a44c73b2 /include/linux/libata.h
parentc7a8209f766961eea4cfc6f22d2d6e06ef63546c (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.h8
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
940extern void ata_port_probe(struct ata_port *);
941extern int sata_set_spd(struct ata_link *link); 934extern int sata_set_spd(struct ata_link *link);
942extern int ata_std_prereset(struct ata_link *link, unsigned long deadline); 935extern int ata_std_prereset(struct ata_link *link, unsigned long deadline);
943extern int ata_wait_after_reset(struct ata_link *link, unsigned long deadline, 936extern 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,
952extern int sata_std_hardreset(struct ata_link *link, unsigned int *class, 945extern int sata_std_hardreset(struct ata_link *link, unsigned int *class,
953 unsigned long deadline); 946 unsigned long deadline);
954extern void ata_std_postreset(struct ata_link *link, unsigned int *classes); 947extern void ata_std_postreset(struct ata_link *link, unsigned int *classes);
955extern void ata_port_disable(struct ata_port *);
956 948
957extern struct ata_host *ata_host_alloc(struct device *dev, int max_ports); 949extern struct ata_host *ata_host_alloc(struct device *dev, int max_ports);
958extern struct ata_host *ata_host_alloc_pinfo(struct device *dev, 950extern struct ata_host *ata_host_alloc_pinfo(struct device *dev,