aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata.h
diff options
context:
space:
mode:
authorGwendal Grignou <gwendal@google.com>2010-05-25 15:31:38 -0400
committerJeff Garzik <jgarzik@redhat.com>2010-10-21 20:21:03 -0400
commitd9027470b88631d0956ac37cdadfdeb9cdcf2c99 (patch)
treeb15273e88431ba734a24965dfc81132ac13bc8bd /drivers/ata/libata.h
parentf6f94e2ab1b33f0082ac22d71f66385a60d8157f (diff)
[libata] Add ATA transport class
This is a scheleton for libata transport class. All information is read only, exporting information from libata: - ata_port class: one per ATA port - ata_link class: one per ATA port or 15 for SATA Port Multiplier - ata_device class: up to 2 for PATA link, usually one for SATA. Signed-off-by: Gwendal Grignou <gwendal@google.com> Reviewed-by: Grant Grundler <grundler@google.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/libata.h')
-rw-r--r--drivers/ata/libata.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h
index 9ce1ecc63e39..142102b94df5 100644
--- a/drivers/ata/libata.h
+++ b/drivers/ata/libata.h
@@ -102,6 +102,7 @@ extern int ata_cmd_ioctl(struct scsi_device *scsidev, void __user *arg);
102extern struct ata_port *ata_port_alloc(struct ata_host *host); 102extern struct ata_port *ata_port_alloc(struct ata_host *host);
103extern void ata_dev_enable_pm(struct ata_device *dev, enum link_pm policy); 103extern void ata_dev_enable_pm(struct ata_device *dev, enum link_pm policy);
104extern void ata_lpm_schedule(struct ata_port *ap, enum link_pm); 104extern void ata_lpm_schedule(struct ata_port *ap, enum link_pm);
105extern const char *sata_spd_string(unsigned int spd);
105 106
106/* libata-acpi.c */ 107/* libata-acpi.c */
107#ifdef CONFIG_ATA_ACPI 108#ifdef CONFIG_ATA_ACPI
@@ -137,6 +138,9 @@ extern void ata_scsi_hotplug(struct work_struct *work);
137extern void ata_schedule_scsi_eh(struct Scsi_Host *shost); 138extern void ata_schedule_scsi_eh(struct Scsi_Host *shost);
138extern void ata_scsi_dev_rescan(struct work_struct *work); 139extern void ata_scsi_dev_rescan(struct work_struct *work);
139extern int ata_bus_probe(struct ata_port *ap); 140extern int ata_bus_probe(struct ata_port *ap);
141extern int ata_scsi_user_scan(struct Scsi_Host *shost, unsigned int channel,
142 unsigned int id, unsigned int lun);
143
140 144
141/* libata-eh.c */ 145/* libata-eh.c */
142extern unsigned long ata_internal_cmd_timeout(struct ata_device *dev, u8 cmd); 146extern unsigned long ata_internal_cmd_timeout(struct ata_device *dev, u8 cmd);
@@ -164,6 +168,9 @@ extern int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
164 ata_postreset_fn_t postreset, 168 ata_postreset_fn_t postreset,
165 struct ata_link **r_failed_disk); 169 struct ata_link **r_failed_disk);
166extern void ata_eh_finish(struct ata_port *ap); 170extern void ata_eh_finish(struct ata_port *ap);
171extern int ata_ering_map(struct ata_ering *ering,
172 int (*map_fn)(struct ata_ering_entry *, void *),
173 void *arg);
167 174
168/* libata-pmp.c */ 175/* libata-pmp.c */
169#ifdef CONFIG_SATA_PMP 176#ifdef CONFIG_SATA_PMP