]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/PvScsiDxe/PvScsi.c
OvmfPkg/PvScsiDxe: Report name of driver
[mirror_edk2.git] / OvmfPkg / PvScsiDxe / PvScsi.c
index 77b28b326784284e84af999a3d6361cd4bd63c93..51b03f709040895e92bcf922670350cab08a08b1 100644 (file)
@@ -68,6 +68,61 @@ STATIC EFI_DRIVER_BINDING_PROTOCOL mPvScsiDriverBinding = {
   NULL  // DriverBindingHandle, filled as well\r
 };\r
 \r
+//\r
+// Component Name\r
+//\r
+\r
+STATIC EFI_UNICODE_STRING_TABLE mDriverNameTable[] = {\r
+  { "eng;en", L"PVSCSI Host Driver" },\r
+  { NULL,     NULL                  }\r
+};\r
+\r
+STATIC EFI_COMPONENT_NAME_PROTOCOL mComponentName;\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+PvScsiGetDriverName (\r
+  IN  EFI_COMPONENT_NAME_PROTOCOL *This,\r
+  IN  CHAR8                       *Language,\r
+  OUT CHAR16                      **DriverName\r
+  )\r
+{\r
+  return LookupUnicodeString2 (\r
+           Language,\r
+           This->SupportedLanguages,\r
+           mDriverNameTable,\r
+           DriverName,\r
+           (BOOLEAN)(This == &mComponentName) // Iso639Language\r
+           );\r
+}\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+PvScsiGetDeviceName (\r
+  IN  EFI_COMPONENT_NAME_PROTOCOL *This,\r
+  IN  EFI_HANDLE                  DeviceHandle,\r
+  IN  EFI_HANDLE                  ChildHandle,\r
+  IN  CHAR8                       *Language,\r
+  OUT CHAR16                      **ControllerName\r
+  )\r
+{\r
+  return EFI_UNSUPPORTED;\r
+}\r
+\r
+STATIC EFI_COMPONENT_NAME_PROTOCOL mComponentName = {\r
+  &PvScsiGetDriverName,\r
+  &PvScsiGetDeviceName,\r
+  "eng" // SupportedLanguages, ISO 639-2 language codes\r
+};\r
+\r
+STATIC EFI_COMPONENT_NAME2_PROTOCOL mComponentName2 = {\r
+  (EFI_COMPONENT_NAME2_GET_DRIVER_NAME)     &PvScsiGetDriverName,\r
+  (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) &PvScsiGetDeviceName,\r
+  "en" // SupportedLanguages, RFC 4646 language codes\r
+};\r
+\r
 //\r
 // Entry Point\r
 //\r
@@ -84,7 +139,7 @@ PvScsiEntryPoint (
            SystemTable,\r
            &mPvScsiDriverBinding,\r
            ImageHandle,\r
-           NULL, // TODO Component name\r
-           NULL  // TODO Component name\r
+           &mComponentName,\r
+           &mComponentName2\r
            );\r
 }\r