]> rtime.felk.cvut.cz Git - arc.git/blobdiff - memory/NvM/NvM.c
Updates after lint check
[arc.git] / memory / NvM / NvM.c
index be7657e50a45ef47fe07a36b7ab66375d363ee6f..60cff01c210345127d7b362dc6135a5072fb670b 100644 (file)
  */\r
 // 522 PC-Lint exception for empty functions\r
 //lint -esym(522,CalcCrc)\r
+//lint -emacro(904,VALIDATE_RV,VALIDATE_NO_RV) //904 PC-Lint exception to MISRA 14.7 (validate macros).\r
 \r
 \r
 #include "NvM.h"\r
+#include "NvM_Cbk.h"\r
 #include "Rte.h" // ???\r
 #if defined(USE_DEM)\r
 #include "Dem.h"\r
           Det_ReportError(MODULE_ID_NVM, 0, _api, _err); \\r
         }\r
 \r
+/*\r
 #define VALIDATE_RV(_exp,_api,_err,_rv ) \\r
         if( !(_exp) ) { \\r
           Det_ReportError(MODULE_ID_NVM, 0, _api, _err); \\r
           return _rv; \\r
         }\r
+*/\r
 \r
 #define VALIDATE_NO_RV(_exp,_api,_err ) \\r
-  if( !(_exp) ) { \\r
+        if( !(_exp) ) { \\r
           Det_ReportError(MODULE_ID_NVM, 0, _api, _err); \\r
           return; \\r
         }\r
@@ -74,6 +78,9 @@
 #define DET_REPORTERROR(_module,_instance,_api,_err)\r
 #endif\r
 \r
+#define BLOCK_BASE_AND_SET_TO_BLOCKNR(_blockbase, _set)        ((uint16)(_blockbase << NVM_DATASET_SELECTION_BITS) | _set)\r
+\r
+\r
 // State variable\r
 typedef enum {\r
   NVM_UNINITIALIZED = 0,\r
@@ -86,11 +93,6 @@ typedef enum {
   NVM_WRITE_ALL_PENDING\r
 } NvmStateType;\r
 \r
-typedef enum {\r
-       MEMIF_STATE_IDLE,\r
-       MEMIF_STATE_PENDING\r
-} MemIfStateType;\r
-\r
 typedef enum {\r
        BLOCK_STATE_IDLE,\r
        BLOCK_STATE_RECALC_CRC,\r
@@ -99,12 +101,12 @@ typedef enum {
        BLOCK_STATE_POSTCALC_CRC_DONE,\r
 \r
        BLOCK_STATE_LOAD_FROM_NV,\r
-       BLOCK_STATE_LOAD_FROM_NV_DONE,\r
-       BLOCK_STATE_LOAD_FROM_NV_REDUNDANT,\r
-       BLOCK_STATE_LOAD_FROM_ROM,\r
+//     BLOCK_STATE_LOAD_FROM_NV_DONE,\r
+//     BLOCK_STATE_LOAD_FROM_NV_REDUNDANT,\r
+//     BLOCK_STATE_LOAD_FROM_ROM,\r
 \r
-       BLOCK_STATE_WRITE_TO_NV,\r
-       BLOCK_STATE_WRITE_TO_NV_DONE\r
+       BLOCK_STATE_WRITE_TO_NV\r
+//     BLOCK_STATE_WRITE_TO_NV_DONE\r
 } BlockStateType;\r
 \r
 \r
@@ -226,7 +228,7 @@ static void ReadBlock(const NvM_BlockDescriptorType *blockDescriptor, Administra
                SetMemifJobBusy();\r
                MemIfJobAdmin.BlockAdmin = adminBlock;\r
                MemIfJobAdmin.BlockDescriptor = blockDescriptor;\r
-               returnCode = MemIf_Read(blockDescriptor->NvramDeviceId, (blockDescriptor->NvBlockBaseNumber << NVM_DATASET_SELECTION_BITS) | setNumber, blockOffset, destAddress, blockDescriptor->NvBlockLength);\r
+               returnCode = MemIf_Read(blockDescriptor->NvramDeviceId, BLOCK_BASE_AND_SET_TO_BLOCKNR(blockDescriptor->NvBlockBaseNumber, setNumber), blockOffset, destAddress, blockDescriptor->NvBlockLength);\r
                if (returnCode != E_OK) {\r
                        AbortMemIfJob(MEMIF_JOB_FAILED);\r
                }\r
@@ -256,10 +258,10 @@ static void ReadAllInit(void)
        AdminMultiReq.NextBlockIndex = 0;\r
 \r
        for (i = 0; i < NVM_NUM_OF_NVRAM_BLOCKS; i++) {\r
-               if (BlockDescriptorList->SelectBlockForReadall\r
+               if ((BlockDescriptorList->SelectBlockForReadall)\r
 #if (NVM_SET_RAM_BLOCK_STATUS_API == STD_ON)                                           /** @req NVM345 */\r
-                               && (!AdminBlockTable->BlockValid                // TODO: Check if this is to be done like this\r
-                               || !AdminBlockTable->BlockChanged)              // TODO: Check if this is to be done like this\r
+                               && ((!AdminBlockTable->BlockValid)                      // TODO: Check if this is to be done like this\r
+                               || (!AdminBlockTable->BlockChanged))            // TODO: Check if this is to be done like this\r
 #endif\r
                                ) {\r
                        VALIDATE_NO_RV(BlockDescriptorList->RamBlockDataAddress != NULL, NVM_READ_ALL_ID, NVM_E_WRONG_CONFIG);\r
@@ -409,7 +411,7 @@ static void WriteBlock(const NvM_BlockDescriptorType *blockDescriptor, Administr
                SetMemifJobBusy();\r
                MemIfJobAdmin.BlockAdmin = adminBlock;\r
                MemIfJobAdmin.BlockDescriptor = blockDescriptor;\r
-               returnCode = MemIf_Write(blockDescriptor->NvramDeviceId, (blockDescriptor->NvBlockBaseNumber << NVM_DATASET_SELECTION_BITS) | setNumber, sourceAddress);\r
+               returnCode = MemIf_Write(blockDescriptor->NvramDeviceId, BLOCK_BASE_AND_SET_TO_BLOCKNR(blockDescriptor->NvBlockBaseNumber, setNumber), sourceAddress);\r
                if (returnCode != E_OK) {\r
                        AbortMemIfJob(MEMIF_JOB_FAILED);\r
                }\r
@@ -436,10 +438,10 @@ static void WriteAllInit(void)
        for (i = 0; i < NVM_NUM_OF_NVRAM_BLOCKS; i++) {\r
                if ((BlockDescriptorList->RamBlockDataAddress != NULL)\r
 #if (NVM_SET_RAM_BLOCK_STATUS_API == STD_ON)                                           /** @req NVM344 */\r
-                               && AdminBlockTable->BlockValid                                          /** @req NVM682 */\r
-                               && AdminBlockTable->BlockChanged                                        /** @req NVM682 */\r
+                               && (AdminBlockTable->BlockValid)                                        /** @req NVM682 */\r
+                               && (AdminBlockTable->BlockChanged)                                      /** @req NVM682 */\r
 #endif\r
-                               && !AdminBlockTable->BlockWriteProtected){                      /** @req NVM432 *//** @req NVM433 */\r
+                               && (!AdminBlockTable->BlockWriteProtected)){                    /** @req NVM432 *//** @req NVM433 */\r
                        if (BlockDescriptorList->BlockUseCrc) {\r
                                AdminBlockTable->BlockState = BLOCK_STATE_RECALC_CRC;   /** @req NVM253 */\r
                        } else {\r