// in the ACPI 3.0b spec, or more recently, to Table B-379, section "B.3.2\r
// _DOD" in the ACPI 6.0 spec.\r
//\r
-STATIC CONST ACPI_ADR_DEVICE_PATH mAcpiAdr = {\r
+STATIC CONST ACPI_ADR_DEVICE_PATH mAcpiAdr = {\r
{ // Header\r
ACPI_DEVICE_PATH, // Type\r
ACPI_ADR_DP, // SubType\r
{ sizeof mAcpiAdr, 0 }, // Length\r
},\r
- ACPI_DISPLAY_ADR ( // ADR\r
+ ACPI_DISPLAY_ADR (\r
+ // ADR\r
1, // DeviceIdScheme: use the ACPI\r
// bit-field definitions\r
0, // HeadId\r
//\r
// Component Name 2 Protocol implementation.\r
//\r
-STATIC CONST EFI_UNICODE_STRING_TABLE mDriverNameTable[] = {\r
+STATIC CONST EFI_UNICODE_STRING_TABLE mDriverNameTable[] = {\r
{ "en", L"Virtio GPU Driver" },\r
{ NULL, NULL }\r
};\r
EFI_STATUS\r
EFIAPI\r
VirtioGpuGetDriverName (\r
- IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **DriverName\r
+ IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **DriverName\r
)\r
{\r
- return LookupUnicodeString2 (Language, This->SupportedLanguages,\r
- mDriverNameTable, DriverName, FALSE /* Iso639Language */);\r
+ return LookupUnicodeString2 (\r
+ Language,\r
+ This->SupportedLanguages,\r
+ mDriverNameTable,\r
+ DriverName,\r
+ FALSE /* Iso639Language */\r
+ );\r
}\r
\r
STATIC\r
EFI_STATUS\r
EFIAPI\r
VirtioGpuGetControllerName (\r
- IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_HANDLE ChildHandle OPTIONAL,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **ControllerName\r
+ IN EFI_COMPONENT_NAME2_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle OPTIONAL,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **ControllerName\r
)\r
{\r
- EFI_STATUS Status;\r
- VGPU_DEV *VgpuDev;\r
+ EFI_STATUS Status;\r
+ VGPU_DEV *VgpuDev;\r
\r
//\r
// Look up the VGPU_DEV "protocol interface" on ControllerHandle.\r
//\r
- Status = gBS->OpenProtocol (ControllerHandle, &gEfiCallerIdGuid,\r
- (VOID **)&VgpuDev, gImageHandle, ControllerHandle,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
+ Status = gBS->OpenProtocol (\r
+ ControllerHandle,\r
+ &gEfiCallerIdGuid,\r
+ (VOID **)&VgpuDev,\r
+ gImageHandle,\r
+ ControllerHandle,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
//\r
// Sanity check: if we found gEfiCallerIdGuid on ControllerHandle, then we\r
// keep its Virtio Device Protocol interface open BY_DRIVER.\r
//\r
- ASSERT_EFI_ERROR (EfiTestManagedDevice (ControllerHandle, gImageHandle,\r
- &gVirtioDeviceProtocolGuid));\r
+ ASSERT_EFI_ERROR (\r
+ EfiTestManagedDevice (\r
+ ControllerHandle,\r
+ gImageHandle,\r
+ &gVirtioDeviceProtocolGuid\r
+ )\r
+ );\r
\r
if (ChildHandle == NULL) {\r
//\r
// The caller is querying the name of the VGPU_DEV controller.\r
//\r
- return LookupUnicodeString2 (Language, This->SupportedLanguages,\r
- VgpuDev->BusName, ControllerName, FALSE /* Iso639Language */);\r
+ return LookupUnicodeString2 (\r
+ Language,\r
+ This->SupportedLanguages,\r
+ VgpuDev->BusName,\r
+ ControllerName,\r
+ FALSE /* Iso639Language */\r
+ );\r
}\r
\r
//\r
// condition below covers the case when we haven't produced the GOP child\r
// controller yet, or we've destroyed it since.)\r
//\r
- if (VgpuDev->Child == NULL || ChildHandle != VgpuDev->Child->GopHandle) {\r
+ if ((VgpuDev->Child == NULL) || (ChildHandle != VgpuDev->Child->GopHandle)) {\r
return EFI_UNSUPPORTED;\r
}\r
+\r
//\r
// Sanity check: our GOP child controller keeps the VGPU_DEV controller's\r
// Virtio Device Protocol interface open BY_CHILD_CONTROLLER.\r
//\r
- ASSERT_EFI_ERROR (EfiTestChildHandle (ControllerHandle, ChildHandle,\r
- &gVirtioDeviceProtocolGuid));\r
-\r
- return LookupUnicodeString2 (Language, This->SupportedLanguages,\r
- VgpuDev->Child->GopName, ControllerName,\r
- FALSE /* Iso639Language */);\r
+ ASSERT_EFI_ERROR (\r
+ EfiTestChildHandle (\r
+ ControllerHandle,\r
+ ChildHandle,\r
+ &gVirtioDeviceProtocolGuid\r
+ )\r
+ );\r
+\r
+ return LookupUnicodeString2 (\r
+ Language,\r
+ This->SupportedLanguages,\r
+ VgpuDev->Child->GopName,\r
+ ControllerName,\r
+ FALSE /* Iso639Language */\r
+ );\r
}\r
\r
-STATIC CONST EFI_COMPONENT_NAME2_PROTOCOL mComponentName2 = {\r
+STATIC CONST EFI_COMPONENT_NAME2_PROTOCOL mComponentName2 = {\r
VirtioGpuGetDriverName,\r
VirtioGpuGetControllerName,\r
"en" // SupportedLanguages (RFC 4646)\r
//\r
// Helper functions for the Driver Binding Protocol Implementation.\r
//\r
+\r
/**\r
Format the VGPU_DEV controller name, to be looked up and returned by\r
VirtioGpuGetControllerName().\r
STATIC\r
EFI_STATUS\r
FormatVgpuDevName (\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_HANDLE AgentHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
- OUT CHAR16 **ControllerName\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE AgentHandle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,\r
+ OUT CHAR16 **ControllerName\r
)\r
{\r
- EFI_HANDLE PciIoHandle;\r
- EFI_PCI_IO_PROTOCOL *PciIo;\r
- UINTN Segment, Bus, Device, Function;\r
- STATIC CONST CHAR16 ControllerNameStem[] = L"Virtio GPU Device";\r
- UINTN ControllerNameSize;\r
-\r
- if (EFI_ERROR (gBS->LocateDevicePath (&gEfiPciIoProtocolGuid, &DevicePath,\r
- &PciIoHandle)) ||\r
- EFI_ERROR (gBS->OpenProtocol (PciIoHandle, &gEfiPciIoProtocolGuid,\r
- (VOID **)&PciIo, AgentHandle, ControllerHandle,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL)) ||\r
- EFI_ERROR (PciIo->GetLocation (PciIo, &Segment, &Bus, &Device,\r
- &Function))) {\r
+ EFI_HANDLE PciIoHandle;\r
+ EFI_PCI_IO_PROTOCOL *PciIo;\r
+ UINTN Segment, Bus, Device, Function;\r
+ STATIC CONST CHAR16 ControllerNameStem[] = L"Virtio GPU Device";\r
+ UINTN ControllerNameSize;\r
+\r
+ if (EFI_ERROR (\r
+ gBS->LocateDevicePath (\r
+ &gEfiPciIoProtocolGuid,\r
+ &DevicePath,\r
+ &PciIoHandle\r
+ )\r
+ ) ||\r
+ EFI_ERROR (\r
+ gBS->OpenProtocol (\r
+ PciIoHandle,\r
+ &gEfiPciIoProtocolGuid,\r
+ (VOID **)&PciIo,\r
+ AgentHandle,\r
+ ControllerHandle,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ )\r
+ ) ||\r
+ EFI_ERROR (\r
+ PciIo->GetLocation (\r
+ PciIo,\r
+ &Segment,\r
+ &Bus,\r
+ &Device,\r
+ &Function\r
+ )\r
+ ))\r
+ {\r
//\r
// Failed to retrieve location info, return verbatim copy of static string.\r
//\r
- *ControllerName = AllocateCopyPool (sizeof ControllerNameStem,\r
- ControllerNameStem);\r
+ *ControllerName = AllocateCopyPool (\r
+ sizeof ControllerNameStem,\r
+ ControllerNameStem\r
+ );\r
return (*ControllerName == NULL) ? EFI_OUT_OF_RESOURCES : EFI_SUCCESS;\r
}\r
+\r
//\r
// Location info available, format ControllerName dynamically.\r
//\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- UnicodeSPrintAsciiFormat (*ControllerName, ControllerNameSize,\r
- "%s %04x:%02x:%02x.%x", ControllerNameStem, (UINT32)Segment, (UINT32)Bus,\r
- (UINT32)Device, (UINT32)Function);\r
+ UnicodeSPrintAsciiFormat (\r
+ *ControllerName,\r
+ ControllerNameSize,\r
+ "%s %04x:%02x:%02x.%x",\r
+ ControllerNameStem,\r
+ (UINT32)Segment,\r
+ (UINT32)Bus,\r
+ (UINT32)Device,\r
+ (UINT32)Function\r
+ );\r
return EFI_SUCCESS;\r
}\r
\r
STATIC\r
EFI_STATUS\r
InitVgpuGop (\r
- IN OUT VGPU_DEV *ParentBus,\r
- IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath,\r
- IN EFI_HANDLE ParentBusController,\r
- IN EFI_HANDLE DriverBindingHandle\r
+ IN OUT VGPU_DEV *ParentBus,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath,\r
+ IN EFI_HANDLE ParentBusController,\r
+ IN EFI_HANDLE DriverBindingHandle\r
)\r
{\r
- VGPU_GOP *VgpuGop;\r
- EFI_STATUS Status;\r
- CHAR16 *ParentBusName;\r
- STATIC CONST CHAR16 NameSuffix[] = L" Head #0";\r
- UINTN NameSize;\r
- CHAR16 *Name;\r
- EFI_TPL OldTpl;\r
- VOID *ParentVirtIo;\r
+ VGPU_GOP *VgpuGop;\r
+ EFI_STATUS Status;\r
+ CHAR16 *ParentBusName;\r
+ STATIC CONST CHAR16 NameSuffix[] = L" Head #0";\r
+ UINTN NameSize;\r
+ CHAR16 *Name;\r
+ EFI_TPL OldTpl;\r
+ VOID *ParentVirtIo;\r
\r
VgpuGop = AllocateZeroPool (sizeof *VgpuGop);\r
if (VgpuGop == NULL) {\r
// VirtioGpuGetControllerName() to look up. We simply append NameSuffix to\r
// ParentBus->BusName.\r
//\r
- Status = LookupUnicodeString2 ("en", mComponentName2.SupportedLanguages,\r
- ParentBus->BusName, &ParentBusName, FALSE /* Iso639Language */);\r
+ Status = LookupUnicodeString2 (\r
+ "en",\r
+ mComponentName2.SupportedLanguages,\r
+ ParentBus->BusName,\r
+ &ParentBusName,\r
+ FALSE /* Iso639Language */\r
+ );\r
ASSERT_EFI_ERROR (Status);\r
NameSize = StrSize (ParentBusName) - sizeof (CHAR16) + sizeof NameSuffix;\r
- Name = AllocatePool (NameSize);\r
+ Name = AllocatePool (NameSize);\r
if (Name == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto FreeVgpuGop;\r
}\r
+\r
UnicodeSPrintAsciiFormat (Name, NameSize, "%s%s", ParentBusName, NameSuffix);\r
- Status = AddUnicodeString2 ("en", mComponentName2.SupportedLanguages,\r
- &VgpuGop->GopName, Name, FALSE /* Iso639Language */);\r
+ Status = AddUnicodeString2 (\r
+ "en",\r
+ mComponentName2.SupportedLanguages,\r
+ &VgpuGop->GopName,\r
+ Name,\r
+ FALSE /* Iso639Language */\r
+ );\r
FreePool (Name);\r
if (EFI_ERROR (Status)) {\r
goto FreeVgpuGop;\r
//\r
// Create the child device path.\r
//\r
- VgpuGop->GopDevicePath = AppendDevicePathNode (ParentDevicePath,\r
- &mAcpiAdr.Header);\r
+ VgpuGop->GopDevicePath = AppendDevicePathNode (\r
+ ParentDevicePath,\r
+ &mAcpiAdr.Header\r
+ );\r
if (VgpuGop->GopDevicePath == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto FreeVgpuGopName;\r
//\r
// Create the child handle with the child device path.\r
//\r
- Status = gBS->InstallProtocolInterface (&VgpuGop->GopHandle,\r
- &gEfiDevicePathProtocolGuid, EFI_NATIVE_INTERFACE,\r
- VgpuGop->GopDevicePath);\r
+ Status = gBS->InstallProtocolInterface (\r
+ &VgpuGop->GopHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ EFI_NATIVE_INTERFACE,\r
+ VgpuGop->GopDevicePath\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto FreeDevicePath;\r
}\r
// The child handle must present a reference to the parent handle's Virtio\r
// Device Protocol interface.\r
//\r
- Status = gBS->OpenProtocol (ParentBusController, &gVirtioDeviceProtocolGuid,\r
- &ParentVirtIo, DriverBindingHandle, VgpuGop->GopHandle,\r
- EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER);\r
+ Status = gBS->OpenProtocol (\r
+ ParentBusController,\r
+ &gVirtioDeviceProtocolGuid,\r
+ &ParentVirtIo,\r
+ DriverBindingHandle,\r
+ VgpuGop->GopHandle,\r
+ EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto UninstallDevicePath;\r
}\r
+\r
ASSERT (ParentVirtIo == ParentBus->VirtIo);\r
\r
//\r
//\r
// Install the Graphics Output Protocol on the child handle.\r
//\r
- Status = gBS->InstallProtocolInterface (&VgpuGop->GopHandle,\r
- &gEfiGraphicsOutputProtocolGuid, EFI_NATIVE_INTERFACE,\r
- &VgpuGop->Gop);\r
+ Status = gBS->InstallProtocolInterface (\r
+ &VgpuGop->GopHandle,\r
+ &gEfiGraphicsOutputProtocolGuid,\r
+ EFI_NATIVE_INTERFACE,\r
+ &VgpuGop->Gop\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto UninitGop;\r
}\r
ReleaseGopResources (VgpuGop, TRUE /* DisableHead */);\r
\r
CloseVirtIoByChild:\r
- gBS->CloseProtocol (ParentBusController, &gVirtioDeviceProtocolGuid,\r
- DriverBindingHandle, VgpuGop->GopHandle);\r
+ gBS->CloseProtocol (\r
+ ParentBusController,\r
+ &gVirtioDeviceProtocolGuid,\r
+ DriverBindingHandle,\r
+ VgpuGop->GopHandle\r
+ );\r
\r
UninstallDevicePath:\r
- gBS->UninstallProtocolInterface (VgpuGop->GopHandle,\r
- &gEfiDevicePathProtocolGuid, VgpuGop->GopDevicePath);\r
+ gBS->UninstallProtocolInterface (\r
+ VgpuGop->GopHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ VgpuGop->GopDevicePath\r
+ );\r
\r
FreeDevicePath:\r
gBS->RestoreTPL (OldTpl);\r
STATIC\r
VOID\r
UninitVgpuGop (\r
- IN OUT VGPU_DEV *ParentBus,\r
- IN EFI_HANDLE ParentBusController,\r
- IN EFI_HANDLE DriverBindingHandle\r
+ IN OUT VGPU_DEV *ParentBus,\r
+ IN EFI_HANDLE ParentBusController,\r
+ IN EFI_HANDLE DriverBindingHandle\r
)\r
{\r
- VGPU_GOP *VgpuGop;\r
- EFI_STATUS Status;\r
+ VGPU_GOP *VgpuGop;\r
+ EFI_STATUS Status;\r
\r
VgpuGop = ParentBus->Child;\r
- Status = gBS->UninstallProtocolInterface (VgpuGop->GopHandle,\r
- &gEfiGraphicsOutputProtocolGuid, &VgpuGop->Gop);\r
+ Status = gBS->UninstallProtocolInterface (\r
+ VgpuGop->GopHandle,\r
+ &gEfiGraphicsOutputProtocolGuid,\r
+ &VgpuGop->Gop\r
+ );\r
ASSERT_EFI_ERROR (Status);\r
\r
//\r
//\r
ReleaseGopResources (VgpuGop, TRUE /* DisableHead */);\r
\r
- Status = gBS->CloseProtocol (ParentBusController, &gVirtioDeviceProtocolGuid,\r
- DriverBindingHandle, VgpuGop->GopHandle);\r
+ Status = gBS->CloseProtocol (\r
+ ParentBusController,\r
+ &gVirtioDeviceProtocolGuid,\r
+ DriverBindingHandle,\r
+ VgpuGop->GopHandle\r
+ );\r
ASSERT_EFI_ERROR (Status);\r
\r
- Status = gBS->UninstallProtocolInterface (VgpuGop->GopHandle,\r
- &gEfiDevicePathProtocolGuid, VgpuGop->GopDevicePath);\r
+ Status = gBS->UninstallProtocolInterface (\r
+ VgpuGop->GopHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ VgpuGop->GopDevicePath\r
+ );\r
ASSERT_EFI_ERROR (Status);\r
\r
FreePool (VgpuGop->GopDevicePath);\r
EFI_STATUS\r
EFIAPI\r
VirtioGpuDriverBindingSupported (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- VIRTIO_DEVICE_PROTOCOL *VirtIo;\r
+ EFI_STATUS Status;\r
+ VIRTIO_DEVICE_PROTOCOL *VirtIo;\r
\r
//\r
// - If RemainingDevicePath is NULL: the caller is interested in creating all\r
// specified in RemainingDevicePath. In this case we have to see if the\r
// requested device path is supportable.\r
//\r
- if (RemainingDevicePath != NULL &&\r
+ if ((RemainingDevicePath != NULL) &&\r
!IsDevicePathEnd (RemainingDevicePath) &&\r
- (DevicePathNodeLength (RemainingDevicePath) != sizeof mAcpiAdr ||\r
- CompareMem (RemainingDevicePath, &mAcpiAdr, sizeof mAcpiAdr) != 0)) {\r
+ ((DevicePathNodeLength (RemainingDevicePath) != sizeof mAcpiAdr) ||\r
+ (CompareMem (RemainingDevicePath, &mAcpiAdr, sizeof mAcpiAdr) != 0)))\r
+ {\r
return EFI_UNSUPPORTED;\r
}\r
\r
//\r
// Open the Virtio Device Protocol interface on the controller, BY_DRIVER.\r
//\r
- Status = gBS->OpenProtocol (ControllerHandle, &gVirtioDeviceProtocolGuid,\r
- (VOID **)&VirtIo, This->DriverBindingHandle,\r
- ControllerHandle, EFI_OPEN_PROTOCOL_BY_DRIVER);\r
+ Status = gBS->OpenProtocol (\r
+ ControllerHandle,\r
+ &gVirtioDeviceProtocolGuid,\r
+ (VOID **)&VirtIo,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle,\r
+ EFI_OPEN_PROTOCOL_BY_DRIVER\r
+ );\r
if (EFI_ERROR (Status)) {\r
//\r
// If this fails, then by default we cannot support ControllerHandle. There\r
// allowed.\r
//\r
if (Status == EFI_ALREADY_STARTED) {\r
- EFI_STATUS Status2;\r
- VGPU_DEV *VgpuDev;\r
-\r
- Status2 = gBS->OpenProtocol (ControllerHandle, &gEfiCallerIdGuid,\r
- (VOID **)&VgpuDev, This->DriverBindingHandle,\r
- ControllerHandle, EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
+ EFI_STATUS Status2;\r
+ VGPU_DEV *VgpuDev;\r
+\r
+ Status2 = gBS->OpenProtocol (\r
+ ControllerHandle,\r
+ &gEfiCallerIdGuid,\r
+ (VOID **)&VgpuDev,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
ASSERT_EFI_ERROR (Status2);\r
\r
- if (VgpuDev->Child == NULL &&\r
- (RemainingDevicePath == NULL ||\r
- !IsDevicePathEnd (RemainingDevicePath))) {\r
+ if ((VgpuDev->Child == NULL) &&\r
+ ((RemainingDevicePath == NULL) ||\r
+ !IsDevicePathEnd (RemainingDevicePath)))\r
+ {\r
Status = EFI_SUCCESS;\r
}\r
}\r
//\r
// First BY_DRIVER open; check the VirtIo revision and subsystem.\r
//\r
- if (VirtIo->Revision < VIRTIO_SPEC_REVISION (1, 0, 0) ||\r
- VirtIo->SubSystemDeviceId != VIRTIO_SUBSYSTEM_GPU_DEVICE) {\r
+ if ((VirtIo->Revision < VIRTIO_SPEC_REVISION (1, 0, 0)) ||\r
+ (VirtIo->SubSystemDeviceId != VIRTIO_SUBSYSTEM_GPU_DEVICE))\r
+ {\r
Status = EFI_UNSUPPORTED;\r
goto CloseVirtIo;\r
}\r
// We'll need the device path of the VirtIo device both for formatting\r
// VGPU_DEV.BusName and for populating VGPU_GOP.GopDevicePath.\r
//\r
- Status = gBS->OpenProtocol (ControllerHandle, &gEfiDevicePathProtocolGuid,\r
- NULL, This->DriverBindingHandle, ControllerHandle,\r
- EFI_OPEN_PROTOCOL_TEST_PROTOCOL);\r
+ Status = gBS->OpenProtocol (\r
+ ControllerHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ NULL,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle,\r
+ EFI_OPEN_PROTOCOL_TEST_PROTOCOL\r
+ );\r
\r
CloseVirtIo:\r
- gBS->CloseProtocol (ControllerHandle, &gVirtioDeviceProtocolGuid,\r
- This->DriverBindingHandle, ControllerHandle);\r
+ gBS->CloseProtocol (\r
+ ControllerHandle,\r
+ &gVirtioDeviceProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle\r
+ );\r
\r
return Status;\r
}\r
EFI_STATUS\r
EFIAPI\r
VirtioGpuDriverBindingStart (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- VIRTIO_DEVICE_PROTOCOL *VirtIo;\r
- BOOLEAN VirtIoBoundJustNow;\r
- VGPU_DEV *VgpuDev;\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
+ EFI_STATUS Status;\r
+ VIRTIO_DEVICE_PROTOCOL *VirtIo;\r
+ BOOLEAN VirtIoBoundJustNow;\r
+ VGPU_DEV *VgpuDev;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
\r
//\r
// Open the Virtio Device Protocol.\r
// binding the VirtIo controller on this call (with or without creating child\r
// controllers), or else we're *only* creating child controllers.\r
//\r
- Status = gBS->OpenProtocol (ControllerHandle, &gVirtioDeviceProtocolGuid,\r
- (VOID **)&VirtIo, This->DriverBindingHandle,\r
- ControllerHandle, EFI_OPEN_PROTOCOL_BY_DRIVER);\r
+ Status = gBS->OpenProtocol (\r
+ ControllerHandle,\r
+ &gVirtioDeviceProtocolGuid,\r
+ (VOID **)&VirtIo,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle,\r
+ EFI_OPEN_PROTOCOL_BY_DRIVER\r
+ );\r
if (EFI_ERROR (Status)) {\r
//\r
// The assertions below are based on the success of\r
//\r
ASSERT (Status == EFI_ALREADY_STARTED);\r
\r
- Status = gBS->OpenProtocol (ControllerHandle, &gEfiCallerIdGuid,\r
- (VOID **)&VgpuDev, This->DriverBindingHandle,\r
- ControllerHandle, EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
+ Status = gBS->OpenProtocol (\r
+ ControllerHandle,\r
+ &gEfiCallerIdGuid,\r
+ (VOID **)&VgpuDev,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
ASSERT_EFI_ERROR (Status);\r
\r
ASSERT (VgpuDev->Child == NULL);\r
ASSERT (\r
- RemainingDevicePath == NULL || !IsDevicePathEnd (RemainingDevicePath));\r
+ RemainingDevicePath == NULL || !IsDevicePathEnd (RemainingDevicePath)\r
+ );\r
\r
VirtIoBoundJustNow = FALSE;\r
} else {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto CloseVirtIo;\r
}\r
+\r
VgpuDev->VirtIo = VirtIo;\r
}\r
\r
// Grab the VirtIo controller's device path. This is necessary regardless of\r
// VirtIoBoundJustNow.\r
//\r
- Status = gBS->OpenProtocol (ControllerHandle, &gEfiDevicePathProtocolGuid,\r
- (VOID **)&DevicePath, This->DriverBindingHandle,\r
- ControllerHandle, EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
+ Status = gBS->OpenProtocol (\r
+ ControllerHandle,\r
+ &gEfiDevicePathProtocolGuid,\r
+ (VOID **)&DevicePath,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto FreeVgpuDev;\r
}\r
// if we aren't *only* creating child handles).\r
//\r
if (VirtIoBoundJustNow) {\r
- CHAR16 *VgpuDevName;\r
+ CHAR16 *VgpuDevName;\r
\r
//\r
// Format a human-readable controller name for VGPU_DEV, and stash it for\r
// VirtioGpuGetControllerName() to look up.\r
//\r
- Status = FormatVgpuDevName (ControllerHandle, This->DriverBindingHandle,\r
- DevicePath, &VgpuDevName);\r
+ Status = FormatVgpuDevName (\r
+ ControllerHandle,\r
+ This->DriverBindingHandle,\r
+ DevicePath,\r
+ &VgpuDevName\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto FreeVgpuDev;\r
}\r
- Status = AddUnicodeString2 ("en", mComponentName2.SupportedLanguages,\r
- &VgpuDev->BusName, VgpuDevName, FALSE /* Iso639Language */);\r
+\r
+ Status = AddUnicodeString2 (\r
+ "en",\r
+ mComponentName2.SupportedLanguages,\r
+ &VgpuDev->BusName,\r
+ VgpuDevName,\r
+ FALSE /* Iso639Language */\r
+ );\r
FreePool (VgpuDevName);\r
if (EFI_ERROR (Status)) {\r
goto FreeVgpuDev;\r
goto FreeVgpuDevBusName;\r
}\r
\r
- Status = gBS->CreateEvent (EVT_SIGNAL_EXIT_BOOT_SERVICES, TPL_CALLBACK,\r
- VirtioGpuExitBoot, VgpuDev /* NotifyContext */,\r
- &VgpuDev->ExitBoot);\r
+ Status = gBS->CreateEvent (\r
+ EVT_SIGNAL_EXIT_BOOT_SERVICES,\r
+ TPL_CALLBACK,\r
+ VirtioGpuExitBoot,\r
+ VgpuDev /* NotifyContext */,\r
+ &VgpuDev->ExitBoot\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto UninitGpu;\r
}\r
//\r
// Install the VGPU_DEV "protocol interface" on ControllerHandle.\r
//\r
- Status = gBS->InstallProtocolInterface (&ControllerHandle,\r
- &gEfiCallerIdGuid, EFI_NATIVE_INTERFACE, VgpuDev);\r
+ Status = gBS->InstallProtocolInterface (\r
+ &ControllerHandle,\r
+ &gEfiCallerIdGuid,\r
+ EFI_NATIVE_INTERFACE,\r
+ VgpuDev\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto CloseExitBoot;\r
}\r
\r
- if (RemainingDevicePath != NULL && IsDevicePathEnd (RemainingDevicePath)) {\r
+ if ((RemainingDevicePath != NULL) && IsDevicePathEnd (RemainingDevicePath)) {\r
//\r
// No child handle should be produced; we're done.\r
//\r
- DEBUG ((DEBUG_INFO, "%a: bound VirtIo=%p without producing GOP\n",\r
- __FUNCTION__, (VOID *)VgpuDev->VirtIo));\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "%a: bound VirtIo=%p without producing GOP\n",\r
+ __FUNCTION__,\r
+ (VOID *)VgpuDev->VirtIo\r
+ ));\r
return EFI_SUCCESS;\r
}\r
}\r
//\r
ASSERT (VgpuDev->Child == NULL);\r
ASSERT (\r
- RemainingDevicePath == NULL || !IsDevicePathEnd (RemainingDevicePath));\r
-\r
- Status = InitVgpuGop (VgpuDev, DevicePath, ControllerHandle,\r
- This->DriverBindingHandle);\r
+ RemainingDevicePath == NULL || !IsDevicePathEnd (RemainingDevicePath)\r
+ );\r
+\r
+ Status = InitVgpuGop (\r
+ VgpuDev,\r
+ DevicePath,\r
+ ControllerHandle,\r
+ This->DriverBindingHandle\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto UninstallVgpuDev;\r
}\r
//\r
// We're done.\r
//\r
- DEBUG ((DEBUG_INFO, "%a: produced GOP %a VirtIo=%p\n", __FUNCTION__,\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "%a: produced GOP %a VirtIo=%p\n",\r
+ __FUNCTION__,\r
VirtIoBoundJustNow ? "while binding" : "for pre-bound",\r
- (VOID *)VgpuDev->VirtIo));\r
+ (VOID *)VgpuDev->VirtIo\r
+ ));\r
return EFI_SUCCESS;\r
\r
UninstallVgpuDev:\r
if (VirtIoBoundJustNow) {\r
- gBS->UninstallProtocolInterface (ControllerHandle, &gEfiCallerIdGuid,\r
- VgpuDev);\r
+ gBS->UninstallProtocolInterface (\r
+ ControllerHandle,\r
+ &gEfiCallerIdGuid,\r
+ VgpuDev\r
+ );\r
}\r
\r
CloseExitBoot:\r
\r
CloseVirtIo:\r
if (VirtIoBoundJustNow) {\r
- gBS->CloseProtocol (ControllerHandle, &gVirtioDeviceProtocolGuid,\r
- This->DriverBindingHandle, ControllerHandle);\r
+ gBS->CloseProtocol (\r
+ ControllerHandle,\r
+ &gVirtioDeviceProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle\r
+ );\r
}\r
\r
return Status;\r
EFI_STATUS\r
EFIAPI\r
VirtioGpuDriverBindingStop (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer OPTIONAL\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- VGPU_DEV *VgpuDev;\r
+ EFI_STATUS Status;\r
+ VGPU_DEV *VgpuDev;\r
\r
//\r
// Look up the VGPU_DEV "protocol interface" on ControllerHandle.\r
//\r
- Status = gBS->OpenProtocol (ControllerHandle, &gEfiCallerIdGuid,\r
- (VOID **)&VgpuDev, This->DriverBindingHandle,\r
- ControllerHandle, EFI_OPEN_PROTOCOL_GET_PROTOCOL);\r
+ Status = gBS->OpenProtocol (\r
+ ControllerHandle,\r
+ &gEfiCallerIdGuid,\r
+ (VOID **)&VgpuDev,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle,\r
+ EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
//\r
// Sanity check: if we found gEfiCallerIdGuid on ControllerHandle, then we\r
// keep its Virtio Device Protocol interface open BY_DRIVER.\r
//\r
- ASSERT_EFI_ERROR (EfiTestManagedDevice (ControllerHandle,\r
- This->DriverBindingHandle, &gVirtioDeviceProtocolGuid));\r
+ ASSERT_EFI_ERROR (\r
+ EfiTestManagedDevice (\r
+ ControllerHandle,\r
+ This->DriverBindingHandle,\r
+ &gVirtioDeviceProtocolGuid\r
+ )\r
+ );\r
\r
switch (NumberOfChildren) {\r
- case 0:\r
- //\r
- // The caller wants us to unbind the VirtIo controller.\r
- //\r
- if (VgpuDev->Child != NULL) {\r
+ case 0:\r
//\r
- // We still have the GOP child.\r
+ // The caller wants us to unbind the VirtIo controller.\r
//\r
- Status = EFI_DEVICE_ERROR;\r
- break;\r
- }\r
-\r
- DEBUG ((DEBUG_INFO, "%a: unbinding GOP-less VirtIo=%p\n", __FUNCTION__,\r
- (VOID *)VgpuDev->VirtIo));\r
-\r
- Status = gBS->UninstallProtocolInterface (ControllerHandle,\r
- &gEfiCallerIdGuid, VgpuDev);\r
- ASSERT_EFI_ERROR (Status);\r
+ if (VgpuDev->Child != NULL) {\r
+ //\r
+ // We still have the GOP child.\r
+ //\r
+ Status = EFI_DEVICE_ERROR;\r
+ break;\r
+ }\r
\r
- Status = gBS->CloseEvent (VgpuDev->ExitBoot);\r
- ASSERT_EFI_ERROR (Status);\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "%a: unbinding GOP-less VirtIo=%p\n",\r
+ __FUNCTION__,\r
+ (VOID *)VgpuDev->VirtIo\r
+ ));\r
+\r
+ Status = gBS->UninstallProtocolInterface (\r
+ ControllerHandle,\r
+ &gEfiCallerIdGuid,\r
+ VgpuDev\r
+ );\r
+ ASSERT_EFI_ERROR (Status);\r
+\r
+ Status = gBS->CloseEvent (VgpuDev->ExitBoot);\r
+ ASSERT_EFI_ERROR (Status);\r
+\r
+ VirtioGpuUninit (VgpuDev);\r
+ FreeUnicodeStringTable (VgpuDev->BusName);\r
+ FreePool (VgpuDev);\r
+\r
+ Status = gBS->CloseProtocol (\r
+ ControllerHandle,\r
+ &gVirtioDeviceProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ ControllerHandle\r
+ );\r
+ ASSERT_EFI_ERROR (Status);\r
+ break;\r
\r
- VirtioGpuUninit (VgpuDev);\r
- FreeUnicodeStringTable (VgpuDev->BusName);\r
- FreePool (VgpuDev);\r
+ case 1:\r
+ //\r
+ // The caller wants us to destroy our child GOP controller.\r
+ //\r
+ if ((VgpuDev->Child == NULL) ||\r
+ (ChildHandleBuffer[0] != VgpuDev->Child->GopHandle))\r
+ {\r
+ //\r
+ // We have no child controller at the moment, or it differs from the one\r
+ // the caller wants us to destroy. I.e., we don't own the child\r
+ // controller passed in.\r
+ //\r
+ Status = EFI_DEVICE_ERROR;\r
+ break;\r
+ }\r
\r
- Status = gBS->CloseProtocol (ControllerHandle, &gVirtioDeviceProtocolGuid,\r
- This->DriverBindingHandle, ControllerHandle);\r
- ASSERT_EFI_ERROR (Status);\r
- break;\r
+ //\r
+ // Sanity check: our GOP child controller keeps the VGPU_DEV controller's\r
+ // Virtio Device Protocol interface open BY_CHILD_CONTROLLER.\r
+ //\r
+ ASSERT_EFI_ERROR (\r
+ EfiTestChildHandle (\r
+ ControllerHandle,\r
+ VgpuDev->Child->GopHandle,\r
+ &gVirtioDeviceProtocolGuid\r
+ )\r
+ );\r
+\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "%a: destroying GOP under VirtIo=%p\n",\r
+ __FUNCTION__,\r
+ (VOID *)VgpuDev->VirtIo\r
+ ));\r
+ UninitVgpuGop (VgpuDev, ControllerHandle, This->DriverBindingHandle);\r
+ break;\r
\r
- case 1:\r
- //\r
- // The caller wants us to destroy our child GOP controller.\r
- //\r
- if (VgpuDev->Child == NULL ||\r
- ChildHandleBuffer[0] != VgpuDev->Child->GopHandle) {\r
+ default:\r
//\r
- // We have no child controller at the moment, or it differs from the one\r
- // the caller wants us to destroy. I.e., we don't own the child\r
- // controller passed in.\r
+ // Impossible, we never produced more than one child.\r
//\r
Status = EFI_DEVICE_ERROR;\r
break;\r
- }\r
- //\r
- // Sanity check: our GOP child controller keeps the VGPU_DEV controller's\r
- // Virtio Device Protocol interface open BY_CHILD_CONTROLLER.\r
- //\r
- ASSERT_EFI_ERROR (EfiTestChildHandle (ControllerHandle,\r
- VgpuDev->Child->GopHandle,\r
- &gVirtioDeviceProtocolGuid));\r
-\r
- DEBUG ((DEBUG_INFO, "%a: destroying GOP under VirtIo=%p\n", __FUNCTION__,\r
- (VOID *)VgpuDev->VirtIo));\r
- UninitVgpuGop (VgpuDev, ControllerHandle, This->DriverBindingHandle);\r
- break;\r
-\r
- default:\r
- //\r
- // Impossible, we never produced more than one child.\r
- //\r
- Status = EFI_DEVICE_ERROR;\r
- break;\r
}\r
+\r
return Status;\r
}\r
\r
-STATIC EFI_DRIVER_BINDING_PROTOCOL mDriverBinding = {\r
+STATIC EFI_DRIVER_BINDING_PROTOCOL mDriverBinding = {\r
VirtioGpuDriverBindingSupported,\r
VirtioGpuDriverBindingStart,\r
VirtioGpuDriverBindingStop,\r
EFI_STATUS\r
EFIAPI\r
VirtioGpuEntryPoint (\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
- return EfiLibInstallDriverBindingComponentName2 (ImageHandle, SystemTable,\r
- &mDriverBinding, ImageHandle, NULL /* ComponentName */,\r
- &mComponentName2);\r
+ return EfiLibInstallDriverBindingComponentName2 (\r
+ ImageHandle,\r
+ SystemTable,\r
+ &mDriverBinding,\r
+ ImageHandle,\r
+ NULL /* ComponentName */,\r
+ &mComponentName2\r
+ );\r
}\r