/* DevicePathNode must be SerialUart type and this will populate the MappingItem. */
EFI_STATUS DevPathSerialUart(IN EFI_DEVICE_PATH_PROTOCOL *DevicePathNode, IN DEVICE_CONSIST_MAPPING_INFO *MappingItem, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath)
/* DevicePathNode must be SerialUart type and this will populate the MappingItem. */
EFI_STATUS DevPathSerialUart(IN EFI_DEVICE_PATH_PROTOCOL *DevicePathNode, IN DEVICE_CONSIST_MAPPING_INFO *MappingItem, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath)
{
  EFI_STATUS        Status;
  UART_DEVICE_PATH  *Uart;
  ASSERT (DevicePathNode != NULL);
  ASSERT (MappingItem != NULL);
  Uart   = (UART_DEVICE_PATH *)DevicePathNode;
  Status = AppendCSDNum (MappingItem, Uart->BaudRate);
  if (!EFI_ERROR (Status)) {
    Status = AppendCSDNum (MappingItem, Uart->DataBits);
  }
  if (!EFI_ERROR (Status)) {
    Status = AppendCSDNum (MappingItem, Uart->Parity);
  }
  if (!EFI_ERROR (Status)) {
    Status = AppendCSDNum (MappingItem, Uart->StopBits);
  }
  return Status;
}