summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@home.osdl.org>2003-10-30 15:46:00 -0800
committerLinus Torvalds <torvalds@home.osdl.org>2003-10-30 15:46:00 -0800
commit58e9907ea572be02dab0ce3ce7ee663197943e03 (patch)
tree534c3d5052eb9ef78b3f8e6b1c10b2117e3558ee /include
parent76cab5cda7802fbdee0fad5c2f9fba4030aa894e (diff)
parent5ee85162a3ca3ba6bb2126509cbc9d4b3d829012 (diff)
Merge bk://kernel.bkbits.net/jgarzik/libata-2.5
into home.osdl.org:/home/torvalds/v2.5/linux
Diffstat (limited to 'include')
-rw-r--r--include/linux/libata.h13
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);