aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libata.h
diff options
context:
space:
mode:
authorBrian King <brking@us.ibm.com>2006-08-07 14:27:31 -0500
committerJeff Garzik <jeff@garzik.org>2006-08-09 00:08:39 -0400
commit80289167fd3ebaeb7b2641e69cbec44b61165fe7 (patch)
treecb979ef0563377b9c901359dbcb1f117ff7d48d5 /drivers/scsi/libata.h
parent[PATCH] libata: Move ata_probe_ent_alloc to libata_core (diff)
downloadlinux-dev-80289167fd3ebaeb7b2641e69cbec44b61165fe7.tar.xz
linux-dev-80289167fd3ebaeb7b2641e69cbec44b61165fe7.zip
[PATCH] libata: Add support for SATA attachment to SAS adapters
The following patch enhances libata to allow SAS device drivers to utilize libata to talk to SATA devices. It introduces some new APIs which allow libata to be used without allocating a virtual scsi host. New APIs: ata_sas_port_alloc - Allocate an ata_port ata_sas_port_init - Initialize an ata_port (probe device, etc) ata_sas_port_destroy - Free an ata_port allocated by ata_sas_port_alloc ata_sas_slave_configure - configure scsi device ata_sas_queuecmd - queue a scsi command, similar to ata_scsi_queuecomand These new APIs can be used either directly by a SAS LLDD or could be used by the SAS transport class. Possible usage for a SAS LLDD would be: scsi_scan_host target_alloc ata_sas_port_alloc slave_alloc ata_sas_port_init slave_configure ata_sas_slave_configure Commands received by the LLDD for SATA devices would call ata_sas_queuecmd. Device teardown would occur with: slave_destroy port_disable target_destroy ata_sas_port_destroy Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/scsi/libata.h')
-rw-r--r--drivers/scsi/libata.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/libata.h b/drivers/scsi/libata.h
index 0b7a37c2785d..d4a4f82360ec 100644
--- a/drivers/scsi/libata.h
+++ b/drivers/scsi/libata.h
@@ -111,6 +111,7 @@ extern void ata_scsi_rbuf_fill(struct ata_scsi_args *args,
u8 *rbuf, unsigned int buflen));
extern void ata_schedule_scsi_eh(struct Scsi_Host *shost);
extern void ata_scsi_dev_rescan(void *data);
+extern int ata_bus_probe(struct ata_port *ap);
/* libata-eh.c */
extern enum scsi_eh_timer_return ata_scsi_timed_out(struct scsi_cmnd *cmd);