OUT CHAR16 **ControllerName\r
)\r
{\r
- EFI_UGA_DRAW_PROTOCOL *UgaDraw;\r
EFI_STATUS Status;\r
- EFI_PCI_IO_PROTOCOL *PciIoProtocol;\r
\r
//\r
// This is a device driver, so ChildHandle must be NULL.\r
}\r
\r
//\r
- // Check Controller's handle\r
+ // Make sure this driver is currently managing ControllHandle\r
//\r
- Status = gBS->OpenProtocol (\r
- ControllerHandle,\r
- &gEfiPciIoProtocolGuid,\r
- (VOID **) &PciIoProtocol,\r
- gCirrusLogic5430DriverBinding.DriverBindingHandle,\r
- ControllerHandle,\r
- EFI_OPEN_PROTOCOL_BY_DRIVER\r
- );\r
- if (!EFI_ERROR (Status)) {\r
- gBS->CloseProtocol (\r
- ControllerHandle,\r
- &gEfiPciIoProtocolGuid,\r
- gCirrusLogic5430DriverBinding.DriverBindingHandle,\r
- ControllerHandle\r
- );\r
-\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- if (Status != EFI_ALREADY_STARTED) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- //\r
- // Get the UGA Draw Protocol on Controller\r
- //\r
- Status = gBS->OpenProtocol (\r
- ControllerHandle,\r
- &gEfiUgaDrawProtocolGuid,\r
- (VOID **) &UgaDraw,\r
- gCirrusLogic5430DriverBinding.DriverBindingHandle,\r
- ControllerHandle,\r
- EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
- );\r
+ Status = EfiTestManagedDevice (\r
+ ControllerHandle,\r
+ gCirrusLogic5430DriverBinding.DriverBindingHandle,\r
+ &gEfiPciIoProtocolGuid\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r