]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBus.h
Add missing status code in several modules.
[mirror_edk2.git] / MdeModulePkg / Bus / Scsi / ScsiBusDxe / ScsiBus.h
index fb63d0aa95c82ad7ca4f3ef7988409dd19d6caa7..ed90a6d458d65e4668c0844cb9867d95f96c7a68 100644 (file)
@@ -1,8 +1,8 @@
 /** @file\r
   Header file for SCSI Bus Driver.\r
 \r
-Copyright (c) 2006 - 2010, Intel Corporation. <BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
 http://opensource.org/licenses/bsd-license.php\r
@@ -33,6 +33,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/UefiScsiLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/DevicePathLib.h>\r
+#include <Library/ReportStatusCodeLib.h>\r
 \r
 #include <IndustryStandard/Scsi.h>\r
 \r
@@ -54,39 +55,22 @@ typedef struct {
    VOID   *Data2;\r
 } SCSI_EVENT_DATA;\r
 \r
-\r
-typedef struct {\r
-  UINT32                             Signature;\r
-  EFI_HANDLE                         Handle;\r
-  EFI_SCSI_IO_PROTOCOL               ScsiIo;\r
-  EFI_DEVICE_PATH_PROTOCOL           *DevicePath;\r
-  BOOLEAN                            ExtScsiSupport; \r
-  EFI_SCSI_PASS_THRU_PROTOCOL        *ScsiPassThru;\r
-  EFI_EXT_SCSI_PASS_THRU_PROTOCOL    *ExtScsiPassThru;\r
-  SCSI_TARGET_ID                     Pun;\r
-  UINT64                             Lun;\r
-  UINT8                              ScsiDeviceType;\r
-  UINT8                              ScsiVersion;\r
-  BOOLEAN                            RemovableDevice;\r
-} SCSI_IO_DEV;\r
-\r
-#define SCSI_IO_DEV_FROM_THIS(a)  CR (a, SCSI_IO_DEV, ScsiIo, SCSI_IO_DEV_SIGNATURE)\r
-\r
 //\r
 // SCSI Bus Controller device strcuture\r
 //\r
-#define EFI_SCSI_BUS_PROTOCOL_GUID \\r
-  { \\r
-    0x5261213D, 0x3A3D, 0x441E, {0xB3, 0xAF, 0x21, 0xD3, 0xF7, 0xA4, 0xCA, 0x17} \\r
-  }\r
+#define SCSI_BUS_DEVICE_SIGNATURE  SIGNATURE_32 ('s', 'c', 's', 'i')\r
 \r
+//\r
+// The ScsiBusProtocol is just used to locate ScsiBusDev\r
+// structure in the SCSIBusDriverBindingStop(). Then we can\r
+// Close all opened protocols and release this structure.\r
+// ScsiBusProtocol is the private protocol.\r
+// gEfiCallerIdGuid will be used as its protocol guid.\r
+//\r
 typedef struct _EFI_SCSI_BUS_PROTOCOL {\r
   UINT64  Reserved;\r
 } EFI_SCSI_BUS_PROTOCOL;\r
 \r
-#define SCSI_BUS_DEVICE_SIGNATURE  SIGNATURE_32 ('s', 'c', 's', 'i')\r
-\r
-\r
 typedef struct _SCSI_BUS_DEVICE {\r
   UINTN                                 Signature;\r
   EFI_SCSI_BUS_PROTOCOL                 BusIdentify;\r
@@ -98,6 +82,24 @@ typedef struct _SCSI_BUS_DEVICE {
 \r
 #define SCSI_BUS_CONTROLLER_DEVICE_FROM_THIS(a)  CR (a, SCSI_BUS_DEVICE, BusIdentify, SCSI_BUS_DEVICE_SIGNATURE)\r
 \r
+typedef struct {\r
+  UINT32                             Signature;\r
+  EFI_HANDLE                         Handle;\r
+  EFI_SCSI_IO_PROTOCOL               ScsiIo;\r
+  EFI_DEVICE_PATH_PROTOCOL           *DevicePath;\r
+  BOOLEAN                            ExtScsiSupport; \r
+  EFI_SCSI_PASS_THRU_PROTOCOL        *ScsiPassThru;\r
+  EFI_EXT_SCSI_PASS_THRU_PROTOCOL    *ExtScsiPassThru;\r
+  SCSI_BUS_DEVICE                    *ScsiBusDeviceData;\r
+  SCSI_TARGET_ID                     Pun;\r
+  UINT64                             Lun;\r
+  UINT8                              ScsiDeviceType;\r
+  UINT8                              ScsiVersion;\r
+  BOOLEAN                            RemovableDevice;\r
+} SCSI_IO_DEV;\r
+\r
+#define SCSI_IO_DEV_FROM_THIS(a)  CR (a, SCSI_IO_DEV, ScsiIo, SCSI_IO_DEV_SIGNATURE)\r
+\r
 //\r
 // Global Variables\r
 //\r
@@ -288,7 +290,7 @@ ScsiBusComponentNameGetDriverName (
                                 driver specified by This was returned in\r
                                 DriverName.\r
 \r
-  @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.\r
+  @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.\r
 \r
   @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid\r
                                 EFI_HANDLE.\r