\r
#include "EmuBusDriverDxe.h"\r
\r
-\r
-\r
//\r
// DriverBinding protocol global\r
//\r
-EFI_DRIVER_BINDING_PROTOCOL gEmuBusDriverBinding = {\r
+EFI_DRIVER_BINDING_PROTOCOL gEmuBusDriverBinding = {\r
EmuBusDriverBindingSupported,\r
EmuBusDriverBindingStart,\r
EmuBusDriverBindingStop,\r
NULL\r
};\r
\r
-\r
-\r
EFI_STATUS\r
EFIAPI\r
EmuBusDriverBindingSupported (\r
// If RemainingDevicePath isn't the End of Device Path Node,\r
// check its validation\r
//\r
- if (RemainingDevicePath->Type != HARDWARE_DEVICE_PATH ||\r
- RemainingDevicePath->SubType != HW_VENDOR_DP ||\r
- DevicePathNodeLength(RemainingDevicePath) != sizeof(EMU_VENDOR_DEVICE_PATH_NODE)) {\r
+ if ((RemainingDevicePath->Type != HARDWARE_DEVICE_PATH) ||\r
+ (RemainingDevicePath->SubType != HW_VENDOR_DP) ||\r
+ (DevicePathNodeLength (RemainingDevicePath) != sizeof (EMU_VENDOR_DEVICE_PATH_NODE)))\r
+ {\r
return EFI_UNSUPPORTED;\r
}\r
}\r
Status = gBS->OpenProtocol (\r
ControllerHandle,\r
&gEmuThunkProtocolGuid,\r
- (VOID **)&EmuThunk ,\r
+ (VOID **)&EmuThunk,\r
This->DriverBindingHandle,\r
ControllerHandle,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
// Close the I/O Abstraction(s) used to perform the supported test\r
//\r
gBS->CloseProtocol (\r
- ControllerHandle,\r
- &gEmuThunkProtocolGuid,\r
- This->DriverBindingHandle,\r
- ControllerHandle\r
- );\r
+ ControllerHandle,\r
+ &gEmuThunkProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle\r
+ );\r
\r
//\r
// Open the EFI Device Path protocol needed to perform the supported test\r
return Status;\r
}\r
\r
-\r
//\r
// Close protocol, don't use device path protocol in the Support() function\r
//\r
gBS->CloseProtocol (\r
- ControllerHandle,\r
- &gEfiDevicePathProtocolGuid,\r
- This->DriverBindingHandle,\r
- ControllerHandle\r
- );\r
+ ControllerHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle\r
+ );\r
\r
return Status;\r
}\r
\r
-\r
EFI_STATUS\r
EFIAPI\r
EmuBusDriverBindingStart (\r
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_STATUS InstallStatus;\r
- EMU_THUNK_PROTOCOL *EmuThunk;\r
- EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;\r
- EMU_IO_DEVICE *EmuDevice;\r
- EMU_BUS_DEVICE *EmuBusDevice;\r
- EMU_IO_THUNK_PROTOCOL *EmuIoThunk;\r
- UINT16 ComponentName[512];\r
- EMU_VENDOR_DEVICE_PATH_NODE *Node;\r
- BOOLEAN CreateDevice;\r
+ EFI_STATUS Status;\r
+ EFI_STATUS InstallStatus;\r
+ EMU_THUNK_PROTOCOL *EmuThunk;\r
+ EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;\r
+ EMU_IO_DEVICE *EmuDevice;\r
+ EMU_BUS_DEVICE *EmuBusDevice;\r
+ EMU_IO_THUNK_PROTOCOL *EmuIoThunk;\r
+ UINT16 ComponentName[512];\r
+ EMU_VENDOR_DEVICE_PATH_NODE *Node;\r
+ BOOLEAN CreateDevice;\r
\r
InstallStatus = EFI_UNSUPPORTED;\r
- Status = EFI_UNSUPPORTED;\r
+ Status = EFI_UNSUPPORTED;\r
\r
//\r
// Grab the protocols we need\r
ControllerHandle,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
);\r
- if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) {\r
+ if (EFI_ERROR (Status) && (Status != EFI_ALREADY_STARTED)) {\r
return Status;\r
}\r
\r
ControllerHandle,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
);\r
- if (EFI_ERROR (Status) && Status != EFI_ALREADY_STARTED) {\r
+ if (EFI_ERROR (Status) && (Status != EFI_ALREADY_STARTED)) {\r
return Status;\r
}\r
\r
FALSE\r
);\r
\r
-\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&ControllerHandle,\r
- &gEfiCallerIdGuid, EmuBusDevice,\r
+ &gEfiCallerIdGuid,\r
+ EmuBusDevice,\r
NULL\r
);\r
if (EFI_ERROR (Status)) {\r
}\r
}\r
\r
-\r
for (Status = EFI_SUCCESS, EmuIoThunk = NULL; !EFI_ERROR (Status); ) {\r
Status = EmuThunk->GetNextProtocol (TRUE, &EmuIoThunk);\r
if (EFI_ERROR (Status)) {\r
\r
CreateDevice = TRUE;\r
if (RemainingDevicePath != NULL) {\r
- CreateDevice = FALSE;\r
+ CreateDevice = FALSE;\r
//\r
// Check if RemainingDevicePath is the End of Device Path Node,\r
// if yes, don't create any child device\r
// If RemainingDevicePath isn't the End of Device Path Node,\r
// check its validation\r
//\r
- Node = (EMU_VENDOR_DEVICE_PATH_NODE *) RemainingDevicePath;\r
- if (Node->VendorDevicePath.Header.Type == HARDWARE_DEVICE_PATH &&\r
- Node->VendorDevicePath.Header.SubType == HW_VENDOR_DP &&\r
- DevicePathNodeLength (&Node->VendorDevicePath.Header) == sizeof (EMU_VENDOR_DEVICE_PATH_NODE)\r
- ) {\r
- if (CompareGuid (&Node->VendorDevicePath.Guid, EmuIoThunk->Protocol) && Node->Instance == EmuIoThunk->Instance) {\r
+ Node = (EMU_VENDOR_DEVICE_PATH_NODE *)RemainingDevicePath;\r
+ if ((Node->VendorDevicePath.Header.Type == HARDWARE_DEVICE_PATH) &&\r
+ (Node->VendorDevicePath.Header.SubType == HW_VENDOR_DP) &&\r
+ (DevicePathNodeLength (&Node->VendorDevicePath.Header) == sizeof (EMU_VENDOR_DEVICE_PATH_NODE))\r
+ )\r
+ {\r
+ if (CompareGuid (&Node->VendorDevicePath.Guid, EmuIoThunk->Protocol) && (Node->Instance == EmuIoThunk->Instance)) {\r
CreateDevice = TRUE;\r
}\r
}\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- EmuDevice->Handle = NULL;\r
- EmuDevice->ControllerHandle = ControllerHandle;\r
- EmuDevice->ParentDevicePath = ParentDevicePath;\r
+ EmuDevice->Handle = NULL;\r
+ EmuDevice->ControllerHandle = ControllerHandle;\r
+ EmuDevice->ParentDevicePath = ParentDevicePath;\r
CopyMem (&EmuDevice->EmuIoThunk, EmuIoThunk, sizeof (EMU_IO_THUNK_PROTOCOL));\r
\r
EmuDevice->ControllerNameTable = NULL;\r
);\r
\r
EmuDevice->DevicePath = EmuBusCreateDevicePath (\r
- ParentDevicePath,\r
- EmuIoThunk->Protocol,\r
- EmuIoThunk->Instance\r
- );\r
+ ParentDevicePath,\r
+ EmuIoThunk->Protocol,\r
+ EmuIoThunk->Instance\r
+ );\r
if (EmuDevice->DevicePath == NULL) {\r
gBS->FreePool (EmuDevice);\r
return EFI_OUT_OF_RESOURCES;\r
EmuDevice->Signature = EMU_IO_DEVICE_SIGNATURE;\r
\r
InstallStatus = gBS->InstallMultipleProtocolInterfaces (\r
- &EmuDevice->Handle,\r
- &gEfiDevicePathProtocolGuid, EmuDevice->DevicePath,\r
- &gEmuIoThunkProtocolGuid, &EmuDevice->EmuIoThunk,\r
- NULL\r
- );\r
+ &EmuDevice->Handle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ EmuDevice->DevicePath,\r
+ &gEmuIoThunkProtocolGuid,\r
+ &EmuDevice->EmuIoThunk,\r
+ NULL\r
+ );\r
if (EFI_ERROR (InstallStatus)) {\r
FreeUnicodeStringTable (EmuDevice->ControllerNameTable);\r
gBS->FreePool (EmuDevice);\r
Status = gBS->OpenProtocol (\r
ControllerHandle,\r
&gEmuThunkProtocolGuid,\r
- (VOID **)&EmuThunk ,\r
+ (VOID **)&EmuThunk,\r
This->DriverBindingHandle,\r
EmuDevice->Handle,\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
return InstallStatus;\r
}\r
\r
-\r
EFI_STATUS\r
EFIAPI\r
EmuBusDriverBindingStop (\r
IN EFI_HANDLE *ChildHandleBuffer\r
)\r
{\r
- EFI_STATUS Status;\r
- UINTN Index;\r
- BOOLEAN AllChildrenStopped;\r
- EMU_IO_THUNK_PROTOCOL *EmuIoThunk;\r
- EMU_BUS_DEVICE *EmuBusDevice;\r
- EMU_IO_DEVICE *EmuDevice;\r
- EMU_THUNK_PROTOCOL *EmuThunk;\r
+ EFI_STATUS Status;\r
+ UINTN Index;\r
+ BOOLEAN AllChildrenStopped;\r
+ EMU_IO_THUNK_PROTOCOL *EmuIoThunk;\r
+ EMU_BUS_DEVICE *EmuBusDevice;\r
+ EMU_IO_DEVICE *EmuDevice;\r
+ EMU_THUNK_PROTOCOL *EmuThunk;\r
\r
//\r
// Complete all outstanding transactions to Controller.\r
}\r
\r
gBS->UninstallMultipleProtocolInterfaces (\r
- ControllerHandle,\r
- &gEfiCallerIdGuid, EmuBusDevice,\r
- NULL\r
- );\r
+ ControllerHandle,\r
+ &gEfiCallerIdGuid,\r
+ EmuBusDevice,\r
+ NULL\r
+ );\r
\r
FreeUnicodeStringTable (EmuBusDevice->ControllerNameTable);\r
\r
gBS->FreePool (EmuBusDevice);\r
\r
gBS->CloseProtocol (\r
- ControllerHandle,\r
- &gEmuThunkProtocolGuid,\r
- This->DriverBindingHandle,\r
- ControllerHandle\r
- );\r
+ ControllerHandle,\r
+ &gEmuThunkProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle\r
+ );\r
\r
gBS->CloseProtocol (\r
- ControllerHandle,\r
- &gEfiDevicePathProtocolGuid,\r
- This->DriverBindingHandle,\r
- ControllerHandle\r
- );\r
+ ControllerHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle\r
+ );\r
return EFI_SUCCESS;\r
}\r
\r
AllChildrenStopped = TRUE;\r
\r
for (Index = 0; Index < NumberOfChildren; Index++) {\r
-\r
Status = gBS->OpenProtocol (\r
ChildHandleBuffer[Index],\r
&gEmuIoThunkProtocolGuid,\r
\r
Status = gBS->UninstallMultipleProtocolInterfaces (\r
EmuDevice->Handle,\r
- &gEfiDevicePathProtocolGuid, EmuDevice->DevicePath,\r
- &gEmuIoThunkProtocolGuid, &EmuDevice->EmuIoThunk,\r
+ &gEfiDevicePathProtocolGuid,\r
+ EmuDevice->DevicePath,\r
+ &gEmuIoThunkProtocolGuid,\r
+ &EmuDevice->EmuIoThunk,\r
NULL\r
);\r
\r
if (EFI_ERROR (Status)) {\r
gBS->OpenProtocol (\r
- ControllerHandle,\r
- &gEmuThunkProtocolGuid,\r
- (VOID **) &EmuThunk ,\r
- This->DriverBindingHandle,\r
- EmuDevice->Handle,\r
- EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
- );\r
+ ControllerHandle,\r
+ &gEmuThunkProtocolGuid,\r
+ (VOID **)&EmuThunk,\r
+ This->DriverBindingHandle,\r
+ EmuDevice->Handle,\r
+ EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
+ );\r
} else {\r
//\r
// Close the child handle\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/*++\r
\r
Routine Description:\r
{\r
EMU_VENDOR_DEVICE_PATH_NODE DevicePath;\r
\r
- DevicePath.VendorDevicePath.Header.Type = HARDWARE_DEVICE_PATH;\r
- DevicePath.VendorDevicePath.Header.SubType = HW_VENDOR_DP;\r
+ DevicePath.VendorDevicePath.Header.Type = HARDWARE_DEVICE_PATH;\r
+ DevicePath.VendorDevicePath.Header.SubType = HW_VENDOR_DP;\r
SetDevicePathNodeLength (&DevicePath.VendorDevicePath.Header, sizeof (EMU_VENDOR_DEVICE_PATH_NODE));\r
\r
//\r
DevicePath.Instance = InstanceNumber;\r
\r
return AppendDevicePathNode (\r
- RootDevicePath,\r
- (EFI_DEVICE_PATH_PROTOCOL *) &DevicePath\r
- );\r
+ RootDevicePath,\r
+ (EFI_DEVICE_PATH_PROTOCOL *)&DevicePath\r
+ );\r
}\r
\r
-\r
-\r
/**\r
The user Entry Point for module EmuBusDriver. The user code starts with this function.\r
\r
EFI_STATUS\r
EFIAPI\r
InitializeEmuBusDriver (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
Status = EfiLibInstallAllDriverProtocols (\r
ImageHandle,\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
-\r
return Status;\r
}\r
-\r
-\r
-\r
-\r