REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the ArmPlatformPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Andrew Fish <afish@apple.com>
		
			
				
	
	
		
			124 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file  NorFlashBlockIoDxe.c
 | |
| 
 | |
|   Copyright (c) 2011-2013, ARM Ltd. All rights reserved.<BR>
 | |
| 
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #include <Library/BaseMemoryLib.h>
 | |
| #include <Library/UefiBootServicesTableLib.h>
 | |
| 
 | |
| #include "NorFlash.h"
 | |
| 
 | |
| //
 | |
| // BlockIO Protocol function EFI_BLOCK_IO_PROTOCOL.Reset
 | |
| //
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| NorFlashBlockIoReset (
 | |
|   IN EFI_BLOCK_IO_PROTOCOL  *This,
 | |
|   IN BOOLEAN                ExtendedVerification
 | |
|   )
 | |
| {
 | |
|   NOR_FLASH_INSTANCE  *Instance;
 | |
| 
 | |
|   Instance = INSTANCE_FROM_BLKIO_THIS (This);
 | |
| 
 | |
|   DEBUG ((DEBUG_BLKIO, "NorFlashBlockIoReset(MediaId=0x%x)\n", This->Media->MediaId));
 | |
| 
 | |
|   return NorFlashReset (Instance);
 | |
| }
 | |
| 
 | |
| //
 | |
| // BlockIO Protocol function EFI_BLOCK_IO_PROTOCOL.ReadBlocks
 | |
| //
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| NorFlashBlockIoReadBlocks (
 | |
|   IN  EFI_BLOCK_IO_PROTOCOL  *This,
 | |
|   IN  UINT32                 MediaId,
 | |
|   IN  EFI_LBA                Lba,
 | |
|   IN  UINTN                  BufferSizeInBytes,
 | |
|   OUT VOID                   *Buffer
 | |
|   )
 | |
| {
 | |
|   NOR_FLASH_INSTANCE  *Instance;
 | |
|   EFI_STATUS          Status;
 | |
|   EFI_BLOCK_IO_MEDIA  *Media;
 | |
| 
 | |
|   if (This == NULL) {
 | |
|     return EFI_INVALID_PARAMETER;
 | |
|   }
 | |
| 
 | |
|   Instance = INSTANCE_FROM_BLKIO_THIS (This);
 | |
|   Media    = This->Media;
 | |
| 
 | |
|   DEBUG ((DEBUG_BLKIO, "NorFlashBlockIoReadBlocks(MediaId=0x%x, Lba=%ld, BufferSize=0x%x bytes (%d kB), BufferPtr @ 0x%08x)\n", MediaId, Lba, BufferSizeInBytes, Buffer));
 | |
| 
 | |
|   if (!Media) {
 | |
|     Status = EFI_INVALID_PARAMETER;
 | |
|   } else if (!Media->MediaPresent) {
 | |
|     Status = EFI_NO_MEDIA;
 | |
|   } else if (Media->MediaId != MediaId) {
 | |
|     Status = EFI_MEDIA_CHANGED;
 | |
|   } else if ((Media->IoAlign > 2) && (((UINTN)Buffer & (Media->IoAlign - 1)) != 0)) {
 | |
|     Status = EFI_INVALID_PARAMETER;
 | |
|   } else {
 | |
|     Status = NorFlashReadBlocks (Instance, Lba, BufferSizeInBytes, Buffer);
 | |
|   }
 | |
| 
 | |
|   return Status;
 | |
| }
 | |
| 
 | |
| //
 | |
| // BlockIO Protocol function EFI_BLOCK_IO_PROTOCOL.WriteBlocks
 | |
| //
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| NorFlashBlockIoWriteBlocks (
 | |
|   IN  EFI_BLOCK_IO_PROTOCOL  *This,
 | |
|   IN  UINT32                 MediaId,
 | |
|   IN  EFI_LBA                Lba,
 | |
|   IN  UINTN                  BufferSizeInBytes,
 | |
|   IN  VOID                   *Buffer
 | |
|   )
 | |
| {
 | |
|   NOR_FLASH_INSTANCE  *Instance;
 | |
|   EFI_STATUS          Status;
 | |
| 
 | |
|   Instance = INSTANCE_FROM_BLKIO_THIS (This);
 | |
| 
 | |
|   DEBUG ((DEBUG_BLKIO, "NorFlashBlockIoWriteBlocks(MediaId=0x%x, Lba=%ld, BufferSize=0x%x bytes (%d kB), BufferPtr @ 0x%08x)\n", MediaId, Lba, BufferSizeInBytes, Buffer));
 | |
| 
 | |
|   if ( !This->Media->MediaPresent ) {
 | |
|     Status = EFI_NO_MEDIA;
 | |
|   } else if ( This->Media->MediaId != MediaId ) {
 | |
|     Status = EFI_MEDIA_CHANGED;
 | |
|   } else if ( This->Media->ReadOnly ) {
 | |
|     Status = EFI_WRITE_PROTECTED;
 | |
|   } else {
 | |
|     Status = NorFlashWriteBlocks (Instance, Lba, BufferSizeInBytes, Buffer);
 | |
|   }
 | |
| 
 | |
|   return Status;
 | |
| }
 | |
| 
 | |
| //
 | |
| // BlockIO Protocol function EFI_BLOCK_IO_PROTOCOL.FlushBlocks
 | |
| //
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| NorFlashBlockIoFlushBlocks (
 | |
|   IN EFI_BLOCK_IO_PROTOCOL  *This
 | |
|   )
 | |
| {
 | |
|   // No Flush required for the NOR Flash driver
 | |
|   // because cache operations are not permitted.
 | |
| 
 | |
|   DEBUG ((DEBUG_BLKIO, "NorFlashBlockIoFlushBlocks: Function NOT IMPLEMENTED (not required).\n"));
 | |
| 
 | |
|   // Nothing to do so just return without error
 | |
|   return EFI_SUCCESS;
 | |
| }
 |