mirror of https://github.com/acidanthera/audk.git
MdeModulePkg/TerminalDxe: Some improvements
1. Get default terminal type from PCD rather than using PCANSI directly in BuildTeminalDevpath; 2. Only terminal type is needed to create an TerminalDev instance, so remove the useless code of creating and freeing DefaultNode. 3. Some white space refining. Cc: Feng Tian <feng.tian@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Heyi Guo <heyi.guo@linaro.org> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18027 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
f8fdf8cd0a
commit
cf1e634b4b
|
@ -258,14 +258,13 @@ BuildTerminalDevpath (
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
|
|
||||||
TerminalDevicePath = NULL;
|
TerminalDevicePath = NULL;
|
||||||
TerminalType = PCANSITYPE;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Use the RemainingDevicePath to determine the terminal type
|
// Use the RemainingDevicePath to determine the terminal type
|
||||||
//
|
//
|
||||||
Node = (VENDOR_DEVICE_PATH *) RemainingDevicePath;
|
Node = (VENDOR_DEVICE_PATH *) RemainingDevicePath;
|
||||||
if (Node == NULL) {
|
if (Node == NULL) {
|
||||||
TerminalType = PCANSITYPE;
|
TerminalType = PcdGet8 (PcdDefaultTerminalType);
|
||||||
|
|
||||||
} else if (CompareGuid (&Node->Guid, &gEfiPcAnsiGuid)) {
|
} else if (CompareGuid (&Node->Guid, &gEfiPcAnsiGuid)) {
|
||||||
|
|
||||||
|
@ -545,7 +544,6 @@ TerminalDriverBindingStart (
|
||||||
EFI_SERIAL_IO_PROTOCOL *SerialIo;
|
EFI_SERIAL_IO_PROTOCOL *SerialIo;
|
||||||
EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;
|
EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;
|
||||||
VENDOR_DEVICE_PATH *Node;
|
VENDOR_DEVICE_PATH *Node;
|
||||||
VENDOR_DEVICE_PATH *DefaultNode;
|
|
||||||
EFI_SERIAL_IO_MODE *Mode;
|
EFI_SERIAL_IO_MODE *Mode;
|
||||||
UINTN SerialInTimeOut;
|
UINTN SerialInTimeOut;
|
||||||
TERMINAL_DEV *TerminalDevice;
|
TERMINAL_DEV *TerminalDevice;
|
||||||
|
@ -565,7 +563,6 @@ TerminalDriverBindingStart (
|
||||||
UINTN ModeCount;
|
UINTN ModeCount;
|
||||||
|
|
||||||
TerminalDevice = NULL;
|
TerminalDevice = NULL;
|
||||||
DefaultNode = NULL;
|
|
||||||
ConInSelected = FALSE;
|
ConInSelected = FALSE;
|
||||||
ConOutSelected = FALSE;
|
ConOutSelected = FALSE;
|
||||||
NullRemaining = FALSE;
|
NullRemaining = FALSE;
|
||||||
|
@ -709,23 +706,14 @@ TerminalDriverBindingStart (
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// If RemainingDevicePath is NULL, then create default device path node
|
// If RemainingDevicePath is NULL, use default terminal type
|
||||||
//
|
//
|
||||||
if (RemainingDevicePath == NULL) {
|
if (RemainingDevicePath == NULL) {
|
||||||
DefaultNode = AllocateZeroPool (sizeof (VENDOR_DEVICE_PATH));
|
|
||||||
if (DefaultNode == NULL) {
|
|
||||||
Status = EFI_OUT_OF_RESOURCES;
|
|
||||||
goto Error;
|
|
||||||
}
|
|
||||||
|
|
||||||
TerminalType = PcdGet8 (PcdDefaultTerminalType);
|
TerminalType = PcdGet8 (PcdDefaultTerminalType);
|
||||||
//
|
//
|
||||||
// Must be between PCANSITYPE (0) and TTYTERMTYPE (4)
|
// Must be between PCANSITYPE (0) and TTYTERMTYPE (4)
|
||||||
//
|
//
|
||||||
ASSERT (TerminalType <= TTYTERMTYPE);
|
ASSERT (TerminalType <= TTYTERMTYPE);
|
||||||
|
|
||||||
CopyMem (&DefaultNode->Guid, gTerminalType[TerminalType], sizeof (EFI_GUID));
|
|
||||||
RemainingDevicePath = (EFI_DEVICE_PATH_PROTOCOL *) DefaultNode;
|
|
||||||
} else if (!IsDevicePathEnd (RemainingDevicePath)) {
|
} else if (!IsDevicePathEnd (RemainingDevicePath)) {
|
||||||
//
|
//
|
||||||
// If RemainingDevicePath isn't the End of Device Path Node,
|
// If RemainingDevicePath isn't the End of Device Path Node,
|
||||||
|
@ -1183,9 +1171,6 @@ TerminalDriverBindingStart (
|
||||||
goto Error;
|
goto Error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (DefaultNode != NULL) {
|
|
||||||
FreePool (DefaultNode);
|
|
||||||
}
|
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
|
|
||||||
|
@ -1254,10 +1239,6 @@ Error:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DefaultNode != NULL) {
|
|
||||||
FreePool (DefaultNode);
|
|
||||||
}
|
|
||||||
|
|
||||||
This->Stop (This, Controller, 0, NULL);
|
This->Stop (This, Controller, 0, NULL);
|
||||||
|
|
||||||
return Status;
|
return Status;
|
||||||
|
|
Loading…
Reference in New Issue