diff options
author | Tejun Heo <htejun@gmail.com> | 2006-03-05 01:29:09 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-03-11 17:57:20 -0500 |
commit | 86e45b6bd6900c4a0b3666fb18b46e215f775c4f (patch) | |
tree | 5b86ebd0b0b17d05bdfdd07b7683f7348577b52a /include | |
parent | d7fc3ca1cd0ecce82263299c6b1631fc83b0ec79 (diff) |
[PATCH] libata: implement port_task
Implement port_task. LLDD's can schedule a function to be executed
with context after specified delay. libata core takes care of
synchronization against EH. This is generalized form of pio_task and
packet_task which are tied to PIO hsm implementation.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/libata.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index 66dce58f1941..3ad2570f663b 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -388,6 +388,8 @@ struct ata_port { | |||
388 | struct ata_host_stats stats; | 388 | struct ata_host_stats stats; |
389 | struct ata_host_set *host_set; | 389 | struct ata_host_set *host_set; |
390 | 390 | ||
391 | struct work_struct port_task; | ||
392 | |||
391 | struct work_struct packet_task; | 393 | struct work_struct packet_task; |
392 | 394 | ||
393 | struct work_struct pio_task; | 395 | struct work_struct pio_task; |
@@ -515,6 +517,8 @@ extern int ata_ratelimit(void); | |||
515 | extern unsigned int ata_busy_sleep(struct ata_port *ap, | 517 | extern unsigned int ata_busy_sleep(struct ata_port *ap, |
516 | unsigned long timeout_pat, | 518 | unsigned long timeout_pat, |
517 | unsigned long timeout); | 519 | unsigned long timeout); |
520 | extern void ata_port_queue_task(struct ata_port *ap, void (*fn)(void *), | ||
521 | void *data, unsigned long delay); | ||
518 | 522 | ||
519 | /* | 523 | /* |
520 | * Default driver ops implementations | 524 | * Default driver ops implementations |