]> git.sur5r.net Git - u-boot/commitdiff
dm: ahci: Create a local version of two SCSI functions
authorSimon Glass <sjg@chromium.org>
Thu, 15 Jun 2017 03:28:42 +0000 (21:28 -0600)
committerSimon Glass <sjg@chromium.org>
Tue, 11 Jul 2017 16:08:19 +0000 (10:08 -0600)
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@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
drivers/ata/ahci.c

index c3b5f2af340917c6b17c5599c5bdb7041fc1a427..9c7b043aa2b4a98bcb755d7c5b70aa45a14fe210 100644 (file)
@@ -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;
 }