+ }\r
+\r
+ //\r
+ // Construct video mode buffer\r
+ //\r
+ Status = CirrusLogic5430VideoModeSetup (Private);\r
+ if (EFI_ERROR (Status)) {\r
+ goto Error;\r
+ }\r
+\r
+ if (FeaturePcdGet (PcdSupportUga)) {\r
+ //\r
+ // Start the UGA Draw software stack.\r
+ //\r
+ Status = CirrusLogic5430UgaDrawConstructor (Private);\r
+ ASSERT_EFI_ERROR (Status);\r
+\r
+ Private->UgaDevicePath = ParentDevicePath;\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &Controller,\r
+ &gEfiUgaDrawProtocolGuid,\r
+ &Private->UgaDraw,\r
+ &gEfiDevicePathProtocolGuid,\r
+ Private->UgaDevicePath,\r
+ NULL\r
+ );\r
+\r
+ } else if (FeaturePcdGet (PcdSupportGop)) {\r
+ if (Private->GopDevicePath == NULL) {\r
+ //\r
+ // If RemainingDevicePath is the End of Device Path Node, \r
+ // don't create child device and return EFI_SUCCESS\r
+ //\r
+ Status = EFI_SUCCESS;\r
+ } else {\r
+ \r
+ //\r
+ // Start the GOP software stack.\r
+ //\r