This patch adds three operations for new EH. The operations are... ->freeze freeze the port ->error_handler new EH ->post_internal_cmd EH/clean up for internal commands The old and new EH's have to live together for the time being and ->error_handler will be used as a switch to select which EH mechanism to use. Signed-off-by: Tejun Heo <htejun@xxxxxxxxx> --- include/linux/libata.h | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) fc162d78699201209b9ecb6250f716aa3d65959d diff --git a/include/linux/libata.h b/include/linux/libata.h index d80dbb5..111bae9 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -462,7 +462,14 @@ struct ata_port_operations { void (*qc_prep) (struct ata_queued_cmd *qc); unsigned int (*qc_issue) (struct ata_queued_cmd *qc); - void (*eng_timeout) (struct ata_port *ap); + /* Error handlers. ->error_handler overrides ->eng_timeout and + * indicates that new-style EH is in place. + */ + void (*eng_timeout) (struct ata_port *ap); /* obsolete */ + + void (*freeze) (struct ata_port *ap); + void (*error_handler) (struct ata_port *ap); + void (*post_internal_cmd) (struct ata_queued_cmd *qc); irqreturn_t (*irq_handler)(int, void *, struct pt_regs *); void (*irq_clear) (struct ata_port *); -- 1.2.4 - : send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html