TianoCore EDK2 master
Loading...
Searching...
No Matches
ComponentName.c
Go to the documentation of this file.
1
9#include "Uhci.h"
10
11//
12// EFI Component Name Protocol
13//
14
18 "eng"
19};
20
21//
22// EFI Component Name 2 Protocol
23//
27 "en"
28};
29
31 { "eng;en", L"Usb Uhci Driver" },
32 { NULL, NULL }
33};
34
35//
36// EFI Component Name Functions
37//
38
79EFIAPI
82 IN CHAR8 *Language,
83 OUT CHAR16 **DriverName
84 )
85{
87 Language,
88 This->SupportedLanguages,
89 mUhciDriverNameTable,
90 DriverName,
91 (BOOLEAN)(This == &gUhciComponentName)
92 );
93}
94
164EFIAPI
167 IN EFI_HANDLE ControllerHandle,
168 IN EFI_HANDLE ChildHandle OPTIONAL,
169 IN CHAR8 *Language,
170 OUT CHAR16 **ControllerName
171 )
172{
173 EFI_STATUS Status;
174 USB_HC_DEV *UhciDev;
175 EFI_USB2_HC_PROTOCOL *Usb2Hc;
176
177 //
178 // This is a device driver, so ChildHandle must be NULL.
179 //
180 if (ChildHandle != NULL) {
181 return EFI_UNSUPPORTED;
182 }
183
184 //
185 // Make sure this driver is currently managing ControllerHandle
186 //
187 Status = EfiTestManagedDevice (
188 ControllerHandle,
189 gUhciDriverBinding.DriverBindingHandle,
190 &gEfiPciIoProtocolGuid
191 );
192 if (EFI_ERROR (Status)) {
193 return Status;
194 }
195
196 //
197 // Get the device context
198 //
199 Status = gBS->OpenProtocol (
200 ControllerHandle,
201 &gEfiUsb2HcProtocolGuid,
202 (VOID **)&Usb2Hc,
203 gUhciDriverBinding.DriverBindingHandle,
204 ControllerHandle,
205 EFI_OPEN_PROTOCOL_GET_PROTOCOL
206 );
207
208 if (EFI_ERROR (Status)) {
209 return Status;
210 }
211
212 UhciDev = UHC_FROM_USB2_HC_PROTO (Usb2Hc);
213
214 return LookupUnicodeString2 (
215 Language,
216 This->SupportedLanguages,
217 UhciDev->CtrlNameTable,
218 ControllerName,
219 (BOOLEAN)(This == &gUhciComponentName)
220 );
221}
EFI_STATUS(EFIAPI * EFI_COMPONENT_NAME2_GET_DRIVER_NAME)(IN EFI_COMPONENT_NAME2_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName)
EFI_STATUS(EFIAPI * EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME)(IN EFI_COMPONENT_NAME2_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
EFI_STATUS EFIAPI UhciComponentNameGetControllerName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
EFI_STATUS EFIAPI UhciComponentNameGetDriverName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName)
Definition: ComponentName.c:80
#define NULL
Definition: Base.h:319
#define VOID
Definition: Base.h:269
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
#define GLOBAL_REMOVE_IF_UNREFERENCED
Definition: Base.h:48
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
EFI_BOOT_SERVICES * gBS
EFI_STATUS EFIAPI LookupUnicodeString2(IN CONST CHAR8 *Language, IN CONST CHAR8 *SupportedLanguages, IN CONST EFI_UNICODE_STRING_TABLE *UnicodeStringTable, OUT CHAR16 **UnicodeString, IN BOOLEAN Iso639Language)
Definition: UefiLib.c:797
EFI_STATUS EFIAPI EfiTestManagedDevice(IN CONST EFI_HANDLE ControllerHandle, IN CONST EFI_HANDLE DriverBindingHandle, IN CONST EFI_GUID *ProtocolGuid)
Definition: UefiLib.c:536