diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/libata.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index a8377cb315ef..e34b31950dd6 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -207,6 +207,7 @@ struct ata_probe_ent { unsigned int irq_flags; unsigned long host_flags; void *mmio_base; + void *private_data; }; struct ata_host_set { @@ -215,6 +216,7 @@ struct ata_host_set { unsigned long irq; void *mmio_base; unsigned int n_ports; + void *private_data; struct ata_port * ports[0]; }; @@ -264,6 +266,8 @@ struct ata_queued_cmd { ata_qc_cb_t callback; struct semaphore sem; + + void *private_data; }; struct ata_host_stats { @@ -333,6 +337,8 @@ struct ata_port { struct semaphore thr_sem; struct timer_list thr_timer; unsigned long thr_timeout; + + void *private_data; }; struct ata_port_operations { @@ -363,6 +369,11 @@ struct ata_port_operations { u32 (*scr_read) (struct ata_port *ap, unsigned int sc_reg); void (*scr_write) (struct ata_port *ap, unsigned int sc_reg, u32 val); + + int (*port_start) (struct ata_port *ap); + void (*port_stop) (struct ata_port *ap); + + void (*host_stop) (struct ata_host_set *host_set); }; struct ata_port_info { @@ -406,6 +417,8 @@ extern u8 ata_check_status_pio(struct ata_port *ap); extern u8 ata_check_status_mmio(struct ata_port *ap); extern void ata_exec_command_pio(struct ata_port *ap, struct ata_taskfile *tf); extern void ata_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf); +extern int ata_port_start (struct ata_port *ap); +extern void ata_port_stop (struct ata_port *ap); extern irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs); extern void ata_fill_sg(struct ata_queued_cmd *qc); extern void ata_bmdma_start_mmio (struct ata_queued_cmd *qc); |
