//\r
// Driver binding protocol implementation for DiskIo driver.\r
//\r
-EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding = {\r
+EFI_DRIVER_BINDING_PROTOCOL gDiskIoDriverBinding = {\r
DiskIoDriverBindingSupported,\r
DiskIoDriverBindingStart,\r
DiskIoDriverBindingStop,\r
// Template for DiskIo private data structure.\r
// The pointer to BlockIo protocol interface is assigned dynamically.\r
//\r
-DISK_IO_PRIVATE_DATA gDiskIoPrivateDataTemplate = {\r
+DISK_IO_PRIVATE_DATA gDiskIoPrivateDataTemplate = {\r
DISK_IO_PRIVATE_DATA_SIGNATURE,\r
{\r
EFI_DISK_IO_PROTOCOL_REVISION,\r
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_BLOCK_IO_PROTOCOL *BlockIo;\r
+ EFI_STATUS Status;\r
+ EFI_BLOCK_IO_PROTOCOL *BlockIo;\r
\r
//\r
// Open the IO Abstraction(s) needed to perform the supported test.\r
Status = gBS->OpenProtocol (\r
ControllerHandle,\r
&gEfiBlockIoProtocolGuid,\r
- (VOID **) &BlockIo,\r
+ (VOID **)&BlockIo,\r
This->DriverBindingHandle,\r
ControllerHandle,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Start this driver on ControllerHandle by opening a Block IO protocol and\r
installing a Disk IO protocol on ControllerHandle.\r
Status = gBS->OpenProtocol (\r
ControllerHandle,\r
&gEfiBlockIoProtocolGuid,\r
- (VOID **) &gDiskIoPrivateDataTemplate.BlockIo,\r
+ (VOID **)&gDiskIoPrivateDataTemplate.BlockIo,\r
This->DriverBindingHandle,\r
ControllerHandle,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
Status = gBS->OpenProtocol (\r
ControllerHandle,\r
&gEfiBlockIo2ProtocolGuid,\r
- (VOID **) &gDiskIoPrivateDataTemplate.BlockIo2,\r
+ (VOID **)&gDiskIoPrivateDataTemplate.BlockIo2,\r
This->DriverBindingHandle,\r
ControllerHandle,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
//\r
// The BlockSize and IoAlign of BlockIo and BlockIo2 should equal.\r
//\r
- ASSERT ((Instance->BlockIo2 == NULL) ||\r
- ((Instance->BlockIo->Media->IoAlign == Instance->BlockIo2->Media->IoAlign) &&\r
- (Instance->BlockIo->Media->BlockSize == Instance->BlockIo2->Media->BlockSize)\r
- ));\r
+ ASSERT (\r
+ (Instance->BlockIo2 == NULL) ||\r
+ ((Instance->BlockIo->Media->IoAlign == Instance->BlockIo2->Media->IoAlign) &&\r
+ (Instance->BlockIo->Media->BlockSize == Instance->BlockIo2->Media->BlockSize)\r
+ )\r
+ );\r
\r
InitializeListHead (&Instance->TaskQueue);\r
EfiInitializeLock (&Instance->TaskQueueLock, TPL_NOTIFY);\r
if (Instance->BlockIo2 != NULL) {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&ControllerHandle,\r
- &gEfiDiskIoProtocolGuid, &Instance->DiskIo,\r
- &gEfiDiskIo2ProtocolGuid, &Instance->DiskIo2,\r
+ &gEfiDiskIoProtocolGuid,\r
+ &Instance->DiskIo,\r
+ &gEfiDiskIo2ProtocolGuid,\r
+ &Instance->DiskIo2,\r
NULL\r
);\r
} else {\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&ControllerHandle,\r
- &gEfiDiskIoProtocolGuid, &Instance->DiskIo,\r
+ &gEfiDiskIoProtocolGuid,\r
+ &Instance->DiskIo,\r
NULL\r
);\r
}\r
\r
ErrorExit:\r
if (EFI_ERROR (Status)) {\r
- if (Instance != NULL && Instance->SharedWorkingBuffer != NULL) {\r
+ if ((Instance != NULL) && (Instance->SharedWorkingBuffer != NULL)) {\r
FreeAlignedPages (\r
Instance->SharedWorkingBuffer,\r
EFI_SIZE_TO_PAGES (PcdGet32 (PcdDiskIoDataBufferBlockNum) * Instance->BlockIo->Media->BlockSize)\r
EFI_STATUS\r
EFIAPI\r
DiskIoDriverBindingStop (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_DISK_IO_PROTOCOL *DiskIo;\r
- EFI_DISK_IO2_PROTOCOL *DiskIo2;\r
- DISK_IO_PRIVATE_DATA *Instance;\r
- BOOLEAN AllTaskDone;\r
+ EFI_STATUS Status;\r
+ EFI_DISK_IO_PROTOCOL *DiskIo;\r
+ EFI_DISK_IO2_PROTOCOL *DiskIo2;\r
+ DISK_IO_PRIVATE_DATA *Instance;\r
+ BOOLEAN AllTaskDone;\r
\r
//\r
// Get our context back.\r
Status = gBS->OpenProtocol (\r
ControllerHandle,\r
&gEfiDiskIoProtocolGuid,\r
- (VOID **) &DiskIo,\r
+ (VOID **)&DiskIo,\r
This->DriverBindingHandle,\r
ControllerHandle,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Status = gBS->OpenProtocol (\r
ControllerHandle,\r
&gEfiDiskIo2ProtocolGuid,\r
- (VOID **) &DiskIo2,\r
+ (VOID **)&DiskIo2,\r
This->DriverBindingHandle,\r
ControllerHandle,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
Status = gBS->UninstallMultipleProtocolInterfaces (\r
ControllerHandle,\r
- &gEfiDiskIoProtocolGuid, &Instance->DiskIo,\r
- &gEfiDiskIo2ProtocolGuid, &Instance->DiskIo2,\r
+ &gEfiDiskIoProtocolGuid,\r
+ &Instance->DiskIo,\r
+ &gEfiDiskIo2ProtocolGuid,\r
+ &Instance->DiskIo2,\r
NULL\r
);\r
} else {\r
Status = gBS->UninstallMultipleProtocolInterfaces (\r
ControllerHandle,\r
- &gEfiDiskIoProtocolGuid, &Instance->DiskIo,\r
+ &gEfiDiskIoProtocolGuid,\r
+ &Instance->DiskIo,\r
NULL\r
);\r
}\r
- if (!EFI_ERROR (Status)) {\r
\r
+ if (!EFI_ERROR (Status)) {\r
do {\r
EfiAcquireLock (&Instance->TaskQueueLock);\r
AllTaskDone = IsListEmpty (&Instance->TaskQueue);\r
return Status;\r
}\r
\r
-\r
/**\r
Destroy the sub task.\r
\r
**/\r
LIST_ENTRY *\r
DiskIoDestroySubtask (\r
- IN DISK_IO_PRIVATE_DATA *Instance,\r
- IN DISK_IO_SUBTASK *Subtask\r
+ IN DISK_IO_PRIVATE_DATA *Instance,\r
+ IN DISK_IO_SUBTASK *Subtask\r
)\r
{\r
- LIST_ENTRY *Link;\r
+ LIST_ENTRY *Link;\r
\r
if (Subtask->Task != NULL) {\r
EfiAcquireLock (&Subtask->Task->SubtasksLock);\r
}\r
+\r
Link = RemoveEntryList (&Subtask->Link);\r
if (Subtask->Task != NULL) {\r
EfiReleaseLock (&Subtask->Task->SubtasksLock);\r
: EFI_SIZE_TO_PAGES (Subtask->Length)\r
);\r
}\r
+\r
if (Subtask->BlockIo2Token.Event != NULL) {\r
gBS->CloseEvent (Subtask->BlockIo2Token.Event);\r
}\r
}\r
+\r
FreePool (Subtask);\r
\r
return Link;\r
VOID\r
EFIAPI\r
DiskIo2OnReadWriteComplete (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
DISK_IO_SUBTASK *Subtask;\r
EFI_STATUS TransactionStatus;\r
DISK_IO_PRIVATE_DATA *Instance;\r
\r
- Subtask = (DISK_IO_SUBTASK *) Context;\r
+ Subtask = (DISK_IO_SUBTASK *)Context;\r
TransactionStatus = Subtask->BlockIo2Token.TransactionStatus;\r
Task = Subtask->Task;\r
Instance = Task->Instance;\r
\r
if ((Subtask->WorkingBuffer != NULL) && !EFI_ERROR (TransactionStatus) &&\r
(Task->Token != NULL) && !Subtask->Write\r
- ) {\r
+ )\r
+ {\r
CopyMem (Subtask->Buffer, Subtask->WorkingBuffer + Subtask->Offset, Subtask->Length);\r
}\r
\r
**/\r
DISK_IO_SUBTASK *\r
DiskIoCreateSubtask (\r
- IN BOOLEAN Write,\r
- IN UINT64 Lba,\r
- IN UINT32 Offset,\r
- IN UINTN Length,\r
- IN VOID *WorkingBuffer OPTIONAL,\r
- IN VOID *Buffer,\r
- IN BOOLEAN Blocking\r
+ IN BOOLEAN Write,\r
+ IN UINT64 Lba,\r
+ IN UINT32 Offset,\r
+ IN UINTN Length,\r
+ IN VOID *WorkingBuffer OPTIONAL,\r
+ IN VOID *Buffer,\r
+ IN BOOLEAN Blocking\r
)\r
{\r
- DISK_IO_SUBTASK *Subtask;\r
- EFI_STATUS Status;\r
+ DISK_IO_SUBTASK *Subtask;\r
+ EFI_STATUS Status;\r
\r
Subtask = AllocateZeroPool (sizeof (DISK_IO_SUBTASK));\r
if (Subtask == NULL) {\r
return NULL;\r
}\r
+\r
Subtask->Signature = DISK_IO_SUBTASK_SIGNATURE;\r
Subtask->Write = Write;\r
Subtask->Lba = Lba;\r
return NULL;\r
}\r
}\r
+\r
DEBUG ((\r
DEBUG_BLKIO,\r
" %c:Lba/Offset/Length/WorkingBuffer/Buffer = %016lx/%08x/%08x/%08x/%08x\n",\r
- Write ? 'W': 'R', Lba, Offset, Length, WorkingBuffer, Buffer\r
+ Write ? 'W' : 'R',\r
+ Lba,\r
+ Offset,\r
+ Length,\r
+ WorkingBuffer,\r
+ Buffer\r
));\r
\r
return Subtask;\r
IN OUT LIST_ENTRY *Subtasks\r
)\r
{\r
- UINT32 BlockSize;\r
- UINT32 IoAlign;\r
- UINT64 Lba;\r
- UINT64 OverRunLba;\r
- UINT32 UnderRun;\r
- UINT32 OverRun;\r
- UINT8 *BufferPtr;\r
- UINTN Length;\r
- UINTN DataBufferSize;\r
- DISK_IO_SUBTASK *Subtask;\r
- VOID *WorkingBuffer;\r
- LIST_ENTRY *Link;\r
+ UINT32 BlockSize;\r
+ UINT32 IoAlign;\r
+ UINT64 Lba;\r
+ UINT64 OverRunLba;\r
+ UINT32 UnderRun;\r
+ UINT32 OverRun;\r
+ UINT8 *BufferPtr;\r
+ UINTN Length;\r
+ UINTN DataBufferSize;\r
+ DISK_IO_SUBTASK *Subtask;\r
+ VOID *WorkingBuffer;\r
+ LIST_ENTRY *Link;\r
\r
DEBUG ((DEBUG_BLKIO, "DiskIo: Create subtasks for task: Offset/BufferSize/Buffer = %016lx/%08x/%08x\n", Offset, BufferSize, Buffer));\r
\r
}\r
\r
Lba = DivU64x32Remainder (Offset, BlockSize, &UnderRun);\r
- BufferPtr = (UINT8 *) Buffer;\r
+ BufferPtr = (UINT8 *)Buffer;\r
\r
//\r
// Special handling for zero BufferSize\r
if (Subtask == NULL) {\r
goto Done;\r
}\r
+\r
InsertTailList (Subtasks, &Subtask->Link);\r
return TRUE;\r
}\r
goto Done;\r
}\r
}\r
+\r
if (Write) {\r
//\r
// A half write operation can be splitted to a blocking block-read and half write operation\r
if (Subtask == NULL) {\r
goto Done;\r
}\r
+\r
InsertTailList (Subtasks, &Subtask->Link);\r
}\r
\r
if (Subtask == NULL) {\r
goto Done;\r
}\r
+\r
InsertTailList (Subtasks, &Subtask->Link);\r
\r
BufferPtr += Length;\r
Offset += Length;\r
BufferSize -= Length;\r
- Lba ++;\r
+ Lba++;\r
}\r
\r
OverRunLba = Lba + DivU64x32Remainder (BufferSize, BlockSize, &OverRun);\r
goto Done;\r
}\r
}\r
+\r
if (Write) {\r
//\r
// A half write operation can be splitted to a blocking block-read and half write operation\r
if (Subtask == NULL) {\r
goto Done;\r
}\r
+\r
InsertTailList (Subtasks, &Subtask->Link);\r
}\r
\r
if (Subtask == NULL) {\r
goto Done;\r
}\r
+\r
InsertTailList (Subtasks, &Subtask->Link);\r
}\r
\r
if (Subtask == NULL) {\r
goto Done;\r
}\r
+\r
InsertTailList (Subtasks, &Subtask->Link);\r
\r
BufferPtr += BufferSize;\r
Offset += BufferSize;\r
BufferSize -= BufferSize;\r
-\r
} else {\r
if (Blocking) {\r
//\r
// Use the allocated buffer instead of the original buffer\r
// to avoid alignment issue.\r
//\r
- for (; Lba < OverRunLba; Lba += PcdGet32 (PcdDiskIoDataBufferBlockNum)) {\r
+ for ( ; Lba < OverRunLba; Lba += PcdGet32 (PcdDiskIoDataBufferBlockNum)) {\r
DataBufferSize = MIN (BufferSize, PcdGet32 (PcdDiskIoDataBufferBlockNum) * BlockSize);\r
\r
Subtask = DiskIoCreateSubtask (Write, Lba, 0, DataBufferSize, SharedWorkingBuffer, BufferPtr, Blocking);\r
if (Subtask == NULL) {\r
goto Done;\r
}\r
+\r
InsertTailList (Subtasks, &Subtask->Link);\r
\r
BufferPtr += DataBufferSize;\r
if (Subtask == NULL) {\r
goto Done;\r
}\r
+\r
InsertTailList (Subtasks, &Subtask->Link);\r
}\r
\r
//\r
for (Link = GetFirstNode (Subtasks); !IsNull (Subtasks, Link); ) {\r
Subtask = CR (Link, DISK_IO_SUBTASK, Link, DISK_IO_SUBTASK_SIGNATURE);\r
- Link = DiskIoDestroySubtask (Instance, Subtask);\r
+ Link = DiskIoDestroySubtask (Instance, Subtask);\r
}\r
+\r
return FALSE;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
DiskIo2Cancel (\r
- IN EFI_DISK_IO2_PROTOCOL *This\r
+ IN EFI_DISK_IO2_PROTOCOL *This\r
)\r
{\r
DISK_IO_PRIVATE_DATA *Instance;\r
EfiAcquireLock (&Instance->TaskQueueLock);\r
\r
for (Link = GetFirstNode (&Instance->TaskQueue)\r
- ; !IsNull (&Instance->TaskQueue, Link)\r
- ; Link = GetNextNode (&Instance->TaskQueue, Link)\r
- ) {\r
+ ; !IsNull (&Instance->TaskQueue, Link)\r
+ ; Link = GetNextNode (&Instance->TaskQueue, Link)\r
+ )\r
+ {\r
Task = CR (Link, DISK_IO2_TASK, Link, DISK_IO2_TASK_SIGNATURE);\r
\r
if (Task->Token != NULL) {\r
**/\r
BOOLEAN\r
DiskIo2RemoveCompletedTask (\r
- IN DISK_IO_PRIVATE_DATA *Instance\r
+ IN DISK_IO_PRIVATE_DATA *Instance\r
)\r
{\r
- BOOLEAN QueueEmpty;\r
- LIST_ENTRY *Link;\r
- DISK_IO2_TASK *Task;\r
+ BOOLEAN QueueEmpty;\r
+ LIST_ENTRY *Link;\r
+ DISK_IO2_TASK *Task;\r
\r
QueueEmpty = TRUE;\r
\r
ASSERT (Task->Token == NULL);\r
FreePool (Task);\r
} else {\r
- Link = GetNextNode (&Instance->TaskQueue, Link);\r
+ Link = GetNextNode (&Instance->TaskQueue, Link);\r
QueueEmpty = FALSE;\r
}\r
}\r
+\r
EfiReleaseLock (&Instance->TaskQueueLock);\r
\r
return QueueEmpty;\r
**/\r
EFI_STATUS\r
DiskIo2ReadWriteDisk (\r
- IN DISK_IO_PRIVATE_DATA *Instance,\r
- IN BOOLEAN Write,\r
- IN UINT32 MediaId,\r
- IN UINT64 Offset,\r
- IN EFI_DISK_IO2_TOKEN *Token,\r
- IN UINTN BufferSize,\r
- IN UINT8 *Buffer\r
+ IN DISK_IO_PRIVATE_DATA *Instance,\r
+ IN BOOLEAN Write,\r
+ IN UINT32 MediaId,\r
+ IN UINT64 Offset,\r
+ IN EFI_DISK_IO2_TOKEN *Token,\r
+ IN UINTN BufferSize,\r
+ IN UINT8 *Buffer\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_BLOCK_IO_PROTOCOL *BlockIo;\r
- EFI_BLOCK_IO2_PROTOCOL *BlockIo2;\r
- EFI_BLOCK_IO_MEDIA *Media;\r
- LIST_ENTRY *Link;\r
- LIST_ENTRY *NextLink;\r
- LIST_ENTRY Subtasks;\r
- DISK_IO_SUBTASK *Subtask;\r
- DISK_IO2_TASK *Task;\r
- EFI_TPL OldTpl;\r
- BOOLEAN Blocking;\r
- BOOLEAN SubtaskBlocking;\r
- LIST_ENTRY *SubtasksPtr;\r
-\r
- Task = NULL;\r
- BlockIo = Instance->BlockIo;\r
- BlockIo2 = Instance->BlockIo2;\r
- Media = BlockIo->Media;\r
- Status = EFI_SUCCESS;\r
- Blocking = (BOOLEAN) ((Token == NULL) || (Token->Event == NULL));\r
+ EFI_STATUS Status;\r
+ EFI_BLOCK_IO_PROTOCOL *BlockIo;\r
+ EFI_BLOCK_IO2_PROTOCOL *BlockIo2;\r
+ EFI_BLOCK_IO_MEDIA *Media;\r
+ LIST_ENTRY *Link;\r
+ LIST_ENTRY *NextLink;\r
+ LIST_ENTRY Subtasks;\r
+ DISK_IO_SUBTASK *Subtask;\r
+ DISK_IO2_TASK *Task;\r
+ EFI_TPL OldTpl;\r
+ BOOLEAN Blocking;\r
+ BOOLEAN SubtaskBlocking;\r
+ LIST_ENTRY *SubtasksPtr;\r
+\r
+ Task = NULL;\r
+ BlockIo = Instance->BlockIo;\r
+ BlockIo2 = Instance->BlockIo2;\r
+ Media = BlockIo->Media;\r
+ Status = EFI_SUCCESS;\r
+ Blocking = (BOOLEAN)((Token == NULL) || (Token->Event == NULL));\r
\r
if (Blocking) {\r
//\r
// Wait till pending async task is completed.\r
//\r
- while (!DiskIo2RemoveCompletedTask (Instance));\r
+ while (!DiskIo2RemoveCompletedTask (Instance)) {\r
+ }\r
\r
SubtasksPtr = &Subtasks;\r
} else {\r
if (Task != NULL) {\r
FreePool (Task);\r
}\r
+\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
ASSERT (!IsListEmpty (SubtasksPtr));\r
\r
OldTpl = gBS->RaiseTPL (TPL_CALLBACK);\r
for ( Link = GetFirstNode (SubtasksPtr), NextLink = GetNextNode (SubtasksPtr, Link)\r
- ; !IsNull (SubtasksPtr, Link)\r
- ; Link = NextLink, NextLink = GetNextNode (SubtasksPtr, NextLink)\r
- ) {\r
+ ; !IsNull (SubtasksPtr, Link)\r
+ ; Link = NextLink, NextLink = GetNextNode (SubtasksPtr, NextLink)\r
+ )\r
+ {\r
Subtask = CR (Link, DISK_IO_SUBTASK, Link, DISK_IO_SUBTASK_SIGNATURE);\r
Subtask->Task = Task;\r
SubtaskBlocking = Subtask->Blocking;\r
(Subtask->WorkingBuffer != NULL) ? Subtask->WorkingBuffer : Subtask->Buffer\r
);\r
}\r
-\r
} else {\r
//\r
// Read\r
//\r
if (EFI_ERROR (Status)) {\r
while (!IsNull (SubtasksPtr, NextLink)) {\r
- Subtask = CR (NextLink, DISK_IO_SUBTASK, Link, DISK_IO_SUBTASK_SIGNATURE);\r
+ Subtask = CR (NextLink, DISK_IO_SUBTASK, Link, DISK_IO_SUBTASK_SIGNATURE);\r
NextLink = DiskIoDestroySubtask (Instance, Subtask);\r
}\r
}\r
EFI_STATUS\r
EFIAPI\r
DiskIo2ReadDiskEx (\r
- IN EFI_DISK_IO2_PROTOCOL *This,\r
- IN UINT32 MediaId,\r
- IN UINT64 Offset,\r
- IN OUT EFI_DISK_IO2_TOKEN *Token,\r
- IN UINTN BufferSize,\r
- OUT VOID *Buffer\r
+ IN EFI_DISK_IO2_PROTOCOL *This,\r
+ IN UINT32 MediaId,\r
+ IN UINT64 Offset,\r
+ IN OUT EFI_DISK_IO2_TOKEN *Token,\r
+ IN UINTN BufferSize,\r
+ OUT VOID *Buffer\r
)\r
{\r
return DiskIo2ReadWriteDisk (\r
DISK_IO_PRIVATE_DATA_FROM_DISK_IO2 (This),\r
- FALSE, MediaId, Offset, Token, BufferSize, (UINT8 *) Buffer\r
+ FALSE,\r
+ MediaId,\r
+ Offset,\r
+ Token,\r
+ BufferSize,\r
+ (UINT8 *)Buffer\r
);\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
DiskIo2WriteDiskEx (\r
- IN EFI_DISK_IO2_PROTOCOL *This,\r
- IN UINT32 MediaId,\r
- IN UINT64 Offset,\r
- IN OUT EFI_DISK_IO2_TOKEN *Token,\r
- IN UINTN BufferSize,\r
- IN VOID *Buffer\r
+ IN EFI_DISK_IO2_PROTOCOL *This,\r
+ IN UINT32 MediaId,\r
+ IN UINT64 Offset,\r
+ IN OUT EFI_DISK_IO2_TOKEN *Token,\r
+ IN UINTN BufferSize,\r
+ IN VOID *Buffer\r
)\r
{\r
return DiskIo2ReadWriteDisk (\r
DISK_IO_PRIVATE_DATA_FROM_DISK_IO2 (This),\r
- TRUE, MediaId, Offset, Token, BufferSize, (UINT8 *) Buffer\r
+ TRUE,\r
+ MediaId,\r
+ Offset,\r
+ Token,\r
+ BufferSize,\r
+ (UINT8 *)Buffer\r
);\r
}\r
\r
VOID\r
EFIAPI\r
DiskIo2OnFlushComplete (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
- DISK_IO2_FLUSH_TASK *Task;\r
+ DISK_IO2_FLUSH_TASK *Task;\r
\r
gBS->CloseEvent (Event);\r
\r
- Task = (DISK_IO2_FLUSH_TASK *) Context;\r
+ Task = (DISK_IO2_FLUSH_TASK *)Context;\r
ASSERT (Task->Signature == DISK_IO2_FLUSH_TASK_SIGNATURE);\r
Task->Token->TransactionStatus = Task->BlockIo2Token.TransactionStatus;\r
gBS->SignalEvent (Task->Token->Event);\r
EFI_STATUS\r
EFIAPI\r
DiskIo2FlushDiskEx (\r
- IN EFI_DISK_IO2_PROTOCOL *This,\r
- IN OUT EFI_DISK_IO2_TOKEN *Token\r
+ IN EFI_DISK_IO2_PROTOCOL *This,\r
+ IN OUT EFI_DISK_IO2_TOKEN *Token\r
)\r
{\r
- EFI_STATUS Status;\r
- DISK_IO2_FLUSH_TASK *Task;\r
- DISK_IO_PRIVATE_DATA *Private;\r
+ EFI_STATUS Status;\r
+ DISK_IO2_FLUSH_TASK *Task;\r
+ DISK_IO_PRIVATE_DATA *Private;\r
\r
Private = DISK_IO_PRIVATE_DATA_FROM_DISK_IO2 (This);\r
\r
FreePool (Task);\r
return Status;\r
}\r
+\r
Task->Signature = DISK_IO2_FLUSH_TASK_SIGNATURE;\r
Task->Token = Token;\r
- Status = Private->BlockIo2->FlushBlocksEx (Private->BlockIo2, &Task->BlockIo2Token);\r
+ Status = Private->BlockIo2->FlushBlocksEx (Private->BlockIo2, &Task->BlockIo2Token);\r
if (EFI_ERROR (Status)) {\r
gBS->CloseEvent (Task->BlockIo2Token.Event);\r
FreePool (Task);\r
{\r
return DiskIo2ReadWriteDisk (\r
DISK_IO_PRIVATE_DATA_FROM_DISK_IO (This),\r
- FALSE, MediaId, Offset, NULL, BufferSize, (UINT8 *) Buffer\r
+ FALSE,\r
+ MediaId,\r
+ Offset,\r
+ NULL,\r
+ BufferSize,\r
+ (UINT8 *)Buffer\r
);\r
}\r
\r
-\r
/**\r
Writes BufferSize bytes from Buffer into Offset.\r
Writes may require a read modify write to support writes that are not\r
{\r
return DiskIo2ReadWriteDisk (\r
DISK_IO_PRIVATE_DATA_FROM_DISK_IO (This),\r
- TRUE, MediaId, Offset, NULL, BufferSize, (UINT8 *) Buffer\r
+ TRUE,\r
+ MediaId,\r
+ Offset,\r
+ NULL,\r
+ BufferSize,\r
+ (UINT8 *)Buffer\r
);\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
InitializeDiskIo (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
//\r
// Install driver model protocol(s).\r