[U-Boot] [PATCH v2 23/29] dm: ahci: Create a local version of two SCSI functions

Simon Glass sjg at chromium.org
Thu Jun 15 03:28:42 UTC 2017


With driver model we need to define implementations of exec() and
bus_reset() separately for each SCSI driver. As a first step, create a
local version of each function in the AHCI driver and call each from its
global version.

Signed-off-by: Simon Glass <sjg at chromium.org>
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
---

Changes in v2: None

 drivers/ata/ahci.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index c3b5f2af34..9c7b043aa2 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -928,7 +928,7 @@ static int ata_scsiop_test_unit_ready(struct ahci_uc_priv *uc_priv,
 }
 
 
-int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb)
+static int ahci_scsi_exec(struct udevice *dev, struct scsi_cmd *pccb)
 {
 	struct ahci_uc_priv *uc_priv;
 #ifdef CONFIG_DM_SCSI
@@ -1134,10 +1134,21 @@ static int ata_io_flush(struct ahci_uc_priv *uc_priv, u8 port)
 	return 0;
 }
 
+static int ahci_scsi_bus_reset(struct udevice *dev)
+{
+	/* Not implemented */
+
+	return 0;
+}
+
+int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb)
+{
+	return ahci_scsi_exec(dev, pccb);
+}
 
 __weak int scsi_bus_reset(struct udevice *dev)
 {
-	/*Not implement*/
+	return ahci_scsi_bus_reset(dev);
 
 	return 0;
 }
-- 
2.13.1.518.g3df882009-goog



More information about the U-Boot mailing list