]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/libata.h
[PATCH] update two drivers for poison.h
[linux-2.6-omap-h63xx.git] / include / linux / libata.h
index 39e6b77de1a90e5f314ee64d36c4751ab2ff7490..20b1cf527c609a575ff468b91f7a4106a8464a8b 100644 (file)
@@ -249,6 +249,7 @@ enum {
        ATA_EH_HARDRESET        = (1 << 2),
 
        ATA_EH_RESET_MASK       = ATA_EH_SOFTRESET | ATA_EH_HARDRESET,
+       ATA_EH_PERDEV_MASK      = ATA_EH_REVALIDATE,
 
        /* ata_eh_info->flags */
        ATA_EHI_HOTPLUGGED      = (1 << 0),  /* could have been hotplugged */
@@ -356,7 +357,8 @@ struct ata_host_set {
        unsigned long           flags;
        int                     simplex_claimed;        /* Keep seperate in case we
                                                           ever need to do this locked */
-       struct ata_port *       ports[0];
+       struct ata_host_set     *next;          /* for legacy mode */
+       struct ata_port         *ports[0];
 };
 
 struct ata_queued_cmd {
@@ -461,6 +463,7 @@ struct ata_eh_info {
        u32                     serror;         /* SError from LLDD */
        unsigned int            err_mask;       /* port-wide err_mask */
        unsigned int            action;         /* ATA_EH_* action mask */
+       unsigned int            dev_action[ATA_MAX_DEVICES]; /* dev EH action */
        unsigned int            flags;          /* ATA_EHI_* flags */
 
        unsigned long           hotplug_timestamp;
@@ -480,6 +483,7 @@ struct ata_eh_context {
 struct ata_port {
        struct Scsi_Host        *host;  /* our co-allocated scsi host */
        const struct ata_port_operations *ops;
+       spinlock_t              *lock;
        unsigned long           flags;  /* ATA_FLAG_xxx */
        unsigned int            id;     /* unique id req'd by scsi midlyr */
        unsigned int            port_no; /* unique port #; from zero */
@@ -522,6 +526,7 @@ struct ata_port {
 
        struct work_struct      port_task;
        struct work_struct      hotplug_task;
+       struct work_struct      scsi_rescan_task;
 
        unsigned int            hsm_task_state;