From: eija Date: Tue, 30 Aug 2011 06:16:50 +0000 (+0200) Subject: Lint fixes in Ea. X-Git-Url: https://rtime.felk.cvut.cz/gitweb/arc.git/commitdiff_plain/73495db9cbdc866dbbfc8dce6eec2110702c179f Lint fixes in Ea. --- diff --git a/include/Ea_Types.h b/include/Ea_Types.h index 64cbe383..3c49aa47 100644 --- a/include/Ea_Types.h +++ b/include/Ea_Types.h @@ -30,7 +30,7 @@ typedef enum EA_JOB_COMPARE, EA_JOB_ERASE, EA_JOB_READ, - EA_JOB_WRITE, + EA_JOB_WRITE } Ea_JobType; #endif diff --git a/memory/Ea/Ea.c b/memory/Ea/Ea.c index 249fb251..21ff3b79 100644 --- a/memory/Ea/Ea.c +++ b/memory/Ea/Ea.c @@ -23,6 +23,15 @@ #include "Ea_Cbk.h" #include "Ea_Types.h" +#include "Mcu.h" + +/** @req EA011 */ +/** @req EA045 */ +#if (STD_ON == EA_DEV_ERROR_DETECT) +#include "Det.h" +#endif + + // States used by EA_MainFunction to control the internal state of the module. typedef enum @@ -35,13 +44,6 @@ typedef enum } Ea_JobStatus; -#include "Mcu.h" - -/** @req EA011 */ -/** @req EA045 */ -#if (STD_ON == EA_DEV_ERROR_DETECT) -#include "Det.h" -#endif /* define EA module notification callback macro @@ -111,9 +113,9 @@ static uint8 Ea_TempBuffer[EA_MAX_BLOCK_SIZE + sizeof(Ea_AdminBlock)]; static uint16 EA_GET_BLOCK(uint16 BlockNumber); static Eep_AddressType calculateEepAddress(uint16 BlockIndex); static uint16 calculateBlockLength(uint16 BlockIndex); -static void handleLowerLayerRead(); -static void handleLowerLayerWrite(); -static void handleLowerLayerErase(); +static void handleLowerLayerRead(void); +static void handleLowerLayerWrite(void); +static void handleLowerLayerErase(void); static uint8 verifyChecksum(Ea_AdminBlock* block); static void addChecksum(Ea_AdminBlock* block); @@ -193,13 +195,13 @@ Std_ReturnType Ea_Read(uint16 BlockNumber, uint16 BlockOffset, uint8* DataBuffer imask_t state; /*@req */ - if (E_OK != Ea_ValidateInitialized(EA_READ_ID)) + if (E_OK != Ea_ValidateInitialized(EA_READ_ID)){ return E_NOT_OK; - + } /*@req */ - if (E_OK != Ea_ValidateBlock(BlockNumber, EA_READ_ID)) + if (E_OK != Ea_ValidateBlock(BlockNumber, EA_READ_ID)){ return E_NOT_OK; - + } /*@req */ /* Lock down the module to ourself */ Irq_Save(state); @@ -258,13 +260,13 @@ Std_ReturnType Ea_Write(uint16 BlockNumber, uint8* DataBufferPtr) imask_t state; /*@req */ - if (E_OK != Ea_ValidateInitialized(EA_WRITE_ID)) + if (E_OK != Ea_ValidateInitialized(EA_WRITE_ID)){ return E_NOT_OK; - + } /*@req */ - if (E_OK != Ea_ValidateBlock(BlockNumber, EA_WRITE_ID)) + if (E_OK != Ea_ValidateBlock(BlockNumber, EA_WRITE_ID)){ return E_NOT_OK; - + } /*@req */ /* Lock down the module to ourself */ @@ -320,16 +322,17 @@ Std_ReturnType Ea_Write(uint16 BlockNumber, uint8* DataBufferPtr) void Ea_Cancel(void) { /*@req */ - if (E_OK != Ea_ValidateInitialized(EA_CANCEL_ID)) - return; - - /*@req [Reset the Ea module's internal variables to make the module ready for a new job request.]*/ - Ea_Global.JobType = EA_JOB_NONE; - Ea_Global.ModuleStatus = MEMIF_IDLE; - Ea_Global.JobResult = MEMIF_JOB_CANCELLED; + if (E_OK != Ea_ValidateInitialized(EA_CANCEL_ID)){ + // Do nothing. + } else { + /*@req [Reset the Ea module's internal variables to make the module ready for a new job request.]*/ + Ea_Global.JobType = EA_JOB_NONE; + Ea_Global.ModuleStatus = MEMIF_IDLE; + Ea_Global.JobResult = MEMIF_JOB_CANCELLED; - /*@req [Call the cancel function of the underlying EEPROM driver.]*/ - Eep_Cancel(); + /*@req [Call the cancel function of the underlying EEPROM driver.]*/ + Eep_Cancel(); + } return; } @@ -337,34 +340,39 @@ void Ea_Cancel(void) /*@req EA089 */ MemIf_StatusType Ea_GetStatus(void) { + MemIf_StatusType rv; + /*@req */ /*@req */ - if (E_OK != Ea_ValidateInitialized(EA_GETSTATUS_ID)) - return MEMIF_UNINIT; - + if (E_OK != Ea_ValidateInitialized(EA_GETSTATUS_ID)){ + rv = MEMIF_UNINIT; + } /*@req */ - if (MEMIF_IDLE == Ea_Global.ModuleStatus) - return MEMIF_IDLE; - + else if (MEMIF_IDLE == Ea_Global.ModuleStatus){ + rv = MEMIF_IDLE; + } /*@req [check if EA Module is busy with internal management operations.]*/ - if (MEMIF_BUSY_INTERNAL == Ea_Global.ModuleStatus) - { - return MEMIF_BUSY_INTERNAL; + else if (MEMIF_BUSY_INTERNAL == Ea_Global.ModuleStatus){ + rv = MEMIF_BUSY_INTERNAL; + } else { + /*@req */ + rv = MEMIF_BUSY; } - - /*@req */ - return MEMIF_BUSY; + return rv; } /*@req */ MemIf_JobResultType Ea_GetJobResult(void) { + MemIf_JobResultType rv; /*@req */ - if (E_OK != Ea_ValidateInitialized(EA_GETJOBRESULT_ID)) - return MEMIF_JOB_FAILED; - - /*@req */ - return Ea_Global.JobResult; + if (E_OK != Ea_ValidateInitialized(EA_GETJOBRESULT_ID)){ + rv = MEMIF_JOB_FAILED; + } else { + /*@req */ + rv = Ea_Global.JobResult; + } + return rv; } /*@req */ @@ -377,13 +385,13 @@ Std_ReturnType Ea_InvalidateBlock(uint16 BlockNumber) imask_t state; /*@req */ - if (E_OK != Ea_ValidateInitialized(EA_INVALIDATEBLOCK_ID)) + if (E_OK != Ea_ValidateInitialized(EA_INVALIDATEBLOCK_ID)){ return E_NOT_OK; - + } /*@req */ - if (E_OK != Ea_ValidateBlock(BlockNumber, EA_INVALIDATEBLOCK_ID)) + if (E_OK != Ea_ValidateBlock(BlockNumber, EA_INVALIDATEBLOCK_ID)){ return E_NOT_OK; - + } /*@req */ /* Lock down the module to ourself */ @@ -432,8 +440,9 @@ Std_ReturnType Ea_InvalidateBlock(uint16 BlockNumber) { Irq_Save(state); MemIf_StatusType status = Eep_GetStatus(); - if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)) + if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)){ Ea_Global.JobStatus = EA_PENDING_ADMIN_WRITE; + } Irq_Restore(state); } else @@ -456,13 +465,13 @@ Std_ReturnType Ea_EraseImmediateBlock(uint16 BlockNumber) imask_t state; /*@req */ - if (E_OK != Ea_ValidateInitialized(EA_ERASEIMMEDIATEBLOCK_ID)) + if (E_OK != Ea_ValidateInitialized(EA_ERASEIMMEDIATEBLOCK_ID)){ return E_NOT_OK; - + } /*@req */ - if (E_OK != Ea_ValidateBlock(BlockNumber, EA_ERASEIMMEDIATEBLOCK_ID)) + if (E_OK != Ea_ValidateBlock(BlockNumber, EA_ERASEIMMEDIATEBLOCK_ID)){ return E_NOT_OK; - + } /*@req */ /* Lock down the module to ourself */ @@ -531,8 +540,9 @@ void Ea_MainFunction(void) { Irq_Save(state); MemIf_StatusType status = Eep_GetStatus(); - if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)) + if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)){ Ea_Global.JobStatus = EA_PENDING_WRITE; + } Irq_Restore(state); } } @@ -546,8 +556,9 @@ void Ea_MainFunction(void) { Irq_Save(state); MemIf_StatusType status = Eep_GetStatus(); - if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)) + if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)){ Ea_Global.JobStatus = EA_PENDING_READ; + } Irq_Restore(state); } } @@ -560,8 +571,9 @@ void Ea_MainFunction(void) { Irq_Save(state); MemIf_StatusType status = Eep_GetStatus(); - if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)) + if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)){ Ea_Global.JobStatus = EA_PENDING_ERASE; + } Irq_Restore(state); } } @@ -598,39 +610,40 @@ void Ea_JobEndNotification(void) Ea_Global.JobResult = MEMIF_JOB_CANCELLED; Ea_Global.JobStatus = EA_PENDING_NONE; Ea_Global.ModuleStatus = MEMIF_IDLE; - return; // Should we call upper layer here? - } - - /*@req */ - /*@req */ - switch(Ea_Global.JobStatus) - { - case EA_PENDING_READ: - handleLowerLayerRead(); - break; - case EA_PENDING_WRITE: - handleLowerLayerWrite(); - break; - case EA_PENDING_ERASE: - handleLowerLayerErase(); - break; - case EA_PENDING_ADMIN_WRITE: - Ea_Global.JobType = EA_JOB_NONE; - Ea_Global.JobStatus = EA_PENDING_NONE; - Ea_Global.ModuleStatus = MEMIF_IDLE; - /*@req */ + // Should we call upper layer here? + } else { + /*@req */ /*@req */ - /*@req */ - /*@req */ - EA_JOB_END_NOTIFICATION(); - break; - default: - assert(0); // Should never come here - break; + switch(Ea_Global.JobStatus) + { + case EA_PENDING_READ: + handleLowerLayerRead(); + break; + case EA_PENDING_WRITE: + handleLowerLayerWrite(); + break; + case EA_PENDING_ERASE: + handleLowerLayerErase(); + break; + case EA_PENDING_ADMIN_WRITE: + Ea_Global.JobType = EA_JOB_NONE; + Ea_Global.JobStatus = EA_PENDING_NONE; + Ea_Global.ModuleStatus = MEMIF_IDLE; + /*@req */ + /*@req */ + /*@req */ + /*@req */ + EA_JOB_END_NOTIFICATION(); + break; + default: + assert(0); // Should never come here + break; + } } + return; } -void handleLowerLayerRead() +static void handleLowerLayerRead() { Ea_AdminBlock* adminBlock; @@ -673,7 +686,7 @@ void handleLowerLayerRead() EA_JOB_END_NOTIFICATION(); } -void handleLowerLayerWrite() +static void handleLowerLayerWrite() { Ea_AdminBlock* adminBlock; Std_ReturnType result; @@ -693,8 +706,9 @@ void handleLowerLayerWrite() { Irq_Save(state); MemIf_StatusType status = Eep_GetStatus(); - if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)) + if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)){ Ea_Global.JobStatus = EA_PENDING_ADMIN_WRITE; + } Irq_Restore(state); } else { @@ -721,7 +735,7 @@ void handleLowerLayerWrite() } } -void handleLowerLayerErase() +static void handleLowerLayerErase() { Ea_AdminBlock* adminBlock; Std_ReturnType result; @@ -741,8 +755,9 @@ void handleLowerLayerErase() { Irq_Save(state); MemIf_StatusType status = Eep_GetStatus(); - if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)) + if ((status == MEMIF_BUSY) || (status == MEMIF_BUSY_INTERNAL)){ Ea_Global.JobStatus = EA_PENDING_ADMIN_WRITE; + } Irq_Restore(state); } else { @@ -778,8 +793,9 @@ void Ea_JobErrorNotification(void) Irq_Save(state); /*@req EA154*/ - if (Ea_Global.JobResult == MEMIF_JOB_PENDING) + if (Ea_Global.JobResult == MEMIF_JOB_PENDING){ Ea_Global.JobResult = MEMIF_JOB_FAILED; + } Ea_Global.JobType = EA_JOB_NONE; Ea_Global.JobStatus = EA_PENDING_NONE; @@ -818,11 +834,11 @@ static uint16 EA_GET_BLOCK(uint16 BlockNumber) * Local service to calculate the actual eep address. */ /*@req */ -Eep_AddressType calculateEepAddress(uint16 BlockIndex) +static Eep_AddressType calculateEepAddress(uint16 BlockIndex) { const Ea_BlockConfigType *EaBlockCon; uint32 totalNumOfBlocks = 0; - uint16 i = 0; + uint16 i; EaBlockCon = Ea_Global.EaBlockConfig; uint16 blockNum = EaBlockCon[BlockIndex].EaBlockNumber; @@ -836,8 +852,9 @@ Eep_AddressType calculateEepAddress(uint16 BlockIndex) { int blocksize = EaBlockCon[i].EaBlockSize + sizeof(Ea_AdminBlock); int numOfBlocks = blocksize / EA_VIRTUAL_PAGE_SIZE; - if (blocksize % EA_VIRTUAL_PAGE_SIZE) + if (blocksize % EA_VIRTUAL_PAGE_SIZE){ numOfBlocks++; + } totalNumOfBlocks = totalNumOfBlocks + numOfBlocks; } @@ -847,24 +864,25 @@ Eep_AddressType calculateEepAddress(uint16 BlockIndex) return totalNumOfBlocks * EA_VIRTUAL_PAGE_SIZE; } -uint16 calculateBlockLength(uint16 BlockIndex) +static uint16 calculateBlockLength(uint16 BlockIndex) { const Ea_BlockConfigType *EaBlockCon; EaBlockCon = Ea_Global.EaBlockConfig; int blocksize = EaBlockCon[BlockIndex].EaBlockSize + sizeof(Ea_AdminBlock); int numOfBlocks = blocksize / EA_VIRTUAL_PAGE_SIZE; - if (blocksize % EA_VIRTUAL_PAGE_SIZE) + if (blocksize % EA_VIRTUAL_PAGE_SIZE){ numOfBlocks++; + } - return numOfBlocks * EA_VIRTUAL_PAGE_SIZE; + return numOfBlocks * EA_VIRTUAL_PAGE_SIZE); } /* Some very simple checksum calculations */ /* Better than nothing :-) */ static uint8 verifyChecksum(Ea_AdminBlock* block) { - uint8 result = 0; + uint8 result; uint8* array = (uint8*) block; result = array[0]; @@ -878,7 +896,7 @@ static uint8 verifyChecksum(Ea_AdminBlock* block) static void addChecksum(Ea_AdminBlock* block) { - uint8 result = 0; + uint8 result; uint8* array = (uint8*) block; result = array[0];