scutimer_v2_1: Modified the source code according to MISRAC 2012.
This patch modifies the code according to MISRAC 2012. Signed-off-by: P L Sai Krishna <lakshmis@xilinx.com>
This commit is contained in:
parent
7eea5a82f0
commit
f055d1560d
6 changed files with 66 additions and 57 deletions
|
@ -80,9 +80,10 @@
|
|||
* @note None.
|
||||
*
|
||||
******************************************************************************/
|
||||
int XScuTimer_CfgInitialize(XScuTimer *InstancePtr,
|
||||
s32 XScuTimer_CfgInitialize(XScuTimer *InstancePtr,
|
||||
XScuTimer_Config *ConfigPtr, u32 EffectiveAddress)
|
||||
{
|
||||
s32 Status;
|
||||
Xil_AssertNonvoid(InstancePtr != NULL);
|
||||
Xil_AssertNonvoid(ConfigPtr != NULL);
|
||||
|
||||
|
@ -92,29 +93,31 @@ int XScuTimer_CfgInitialize(XScuTimer *InstancePtr,
|
|||
* device and reinitialize, but prevents a user from inadvertently
|
||||
* initializing.
|
||||
*/
|
||||
if (InstancePtr->IsStarted == XIL_COMPONENT_IS_STARTED) {
|
||||
return XST_DEVICE_IS_STARTED;
|
||||
if (InstancePtr->IsStarted != XIL_COMPONENT_IS_STARTED) {
|
||||
/*
|
||||
* Copy configuration into the instance structure.
|
||||
*/
|
||||
InstancePtr->Config.DeviceId = ConfigPtr->DeviceId;
|
||||
|
||||
/*
|
||||
* Save the base address pointer such that the registers of the block
|
||||
* can be accessed and indicate it has not been started yet.
|
||||
*/
|
||||
InstancePtr->Config.BaseAddr = EffectiveAddress;
|
||||
|
||||
InstancePtr->IsStarted = (u32)0;
|
||||
|
||||
/*
|
||||
* Indicate the instance is ready to use, successfully initialized.
|
||||
*/
|
||||
InstancePtr->IsReady = XIL_COMPONENT_IS_READY;
|
||||
|
||||
Status =(s32)XST_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* Copy configuration into the instance structure.
|
||||
*/
|
||||
InstancePtr->Config.DeviceId = ConfigPtr->DeviceId;
|
||||
|
||||
/*
|
||||
* Save the base address pointer such that the registers of the block
|
||||
* can be accessed and indicate it has not been started yet.
|
||||
*/
|
||||
InstancePtr->Config.BaseAddr = EffectiveAddress;
|
||||
|
||||
InstancePtr->IsStarted = 0;
|
||||
|
||||
/*
|
||||
* Indicate the instance is ready to use, successfully initialized.
|
||||
*/
|
||||
InstancePtr->IsReady = XIL_COMPONENT_IS_READY;
|
||||
|
||||
return XST_SUCCESS;
|
||||
else {
|
||||
Status = (s32)XST_DEVICE_IS_STARTED;
|
||||
}
|
||||
return Status;
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
@ -187,7 +190,7 @@ void XScuTimer_Stop(XScuTimer *InstancePtr)
|
|||
/*
|
||||
* Clear the 'timer enable' bit in the register.
|
||||
*/
|
||||
Register &= ~XSCUTIMER_CONTROL_ENABLE_MASK;
|
||||
Register &= (u32)(~XSCUTIMER_CONTROL_ENABLE_MASK);
|
||||
|
||||
/*
|
||||
* Update the Control register with the new value.
|
||||
|
@ -198,7 +201,7 @@ void XScuTimer_Stop(XScuTimer *InstancePtr)
|
|||
/*
|
||||
* Indicate that the device is stopped.
|
||||
*/
|
||||
InstancePtr->IsStarted = 0;
|
||||
InstancePtr->IsStarted = (u32)0;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -232,12 +235,12 @@ void XScuTimer_SetPrescaler(XScuTimer *InstancePtr, u8 PrescalerValue)
|
|||
/*
|
||||
* Clear all of the prescaler control bits in the register.
|
||||
*/
|
||||
ControlReg &= ~XSCUTIMER_CONTROL_PRESCALER_MASK;
|
||||
ControlReg &= (u32)(~XSCUTIMER_CONTROL_PRESCALER_MASK);
|
||||
|
||||
/*
|
||||
* Set the prescaler value.
|
||||
*/
|
||||
ControlReg |= (PrescalerValue << XSCUTIMER_CONTROL_PRESCALER_SHIFT);
|
||||
ControlReg |= (((u32)PrescalerValue) << XSCUTIMER_CONTROL_PRESCALER_SHIFT);
|
||||
|
||||
/*
|
||||
* Write the register with the new values.
|
||||
|
@ -275,5 +278,5 @@ u8 XScuTimer_GetPrescaler(XScuTimer *InstancePtr)
|
|||
XSCUTIMER_CONTROL_OFFSET);
|
||||
ControlReg &= XSCUTIMER_CONTROL_PRESCALER_MASK;
|
||||
|
||||
return (ControlReg >> XSCUTIMER_CONTROL_PRESCALER_SHIFT);
|
||||
return (u8)(ControlReg >> XSCUTIMER_CONTROL_PRESCALER_SHIFT);
|
||||
}
|
||||
|
|
|
@ -176,7 +176,7 @@ typedef struct {
|
|||
*
|
||||
******************************************************************************/
|
||||
#define XScuTimer_RestartTimer(InstancePtr) \
|
||||
XScuTimer_LoadTimer(InstancePtr, \
|
||||
XScuTimer_LoadTimer((InstancePtr), \
|
||||
XScuTimer_ReadReg((InstancePtr)->Config.BaseAddr, \
|
||||
XSCUTIMER_LOAD_OFFSET))
|
||||
|
||||
|
@ -198,7 +198,7 @@ typedef struct {
|
|||
******************************************************************************/
|
||||
#define XScuTimer_LoadTimer(InstancePtr, Value) \
|
||||
XScuTimer_WriteReg((InstancePtr)->Config.BaseAddr, \
|
||||
XSCUTIMER_LOAD_OFFSET, Value)
|
||||
XSCUTIMER_LOAD_OFFSET, (Value))
|
||||
|
||||
/****************************************************************************/
|
||||
/**
|
||||
|
@ -342,12 +342,12 @@ XScuTimer_Config *XScuTimer_LookupConfig(u16 DeviceId);
|
|||
/*
|
||||
* Selftest function in xscutimer_selftest.c
|
||||
*/
|
||||
int XScuTimer_SelfTest(XScuTimer *InstancePtr);
|
||||
s32 XScuTimer_SelfTest(XScuTimer *InstancePtr);
|
||||
|
||||
/*
|
||||
* Interface functions in xscutimer.c
|
||||
*/
|
||||
int XScuTimer_CfgInitialize(XScuTimer *InstancePtr,
|
||||
s32 XScuTimer_CfgInitialize(XScuTimer *InstancePtr,
|
||||
XScuTimer_Config *ConfigPtr, u32 EffectiveAddress);
|
||||
void XScuTimer_Start(XScuTimer *InstancePtr);
|
||||
void XScuTimer_Stop(XScuTimer *InstancePtr);
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
*/
|
||||
XScuTimer_Config XScuTimer_ConfigTable[XPAR_XSCUTIMER_NUM_INSTANCES] = {
|
||||
{
|
||||
XPAR_XSCUTIMER_0_DEVICE_ID,
|
||||
XPAR_XSCUTIMER_0_BASEADDR
|
||||
(u16)XPAR_XSCUTIMER_0_DEVICE_ID,
|
||||
(u32)XPAR_XSCUTIMER_0_BASEADDR
|
||||
}
|
||||
};
|
||||
|
|
|
@ -69,10 +69,10 @@ extern "C" {
|
|||
* @{
|
||||
*/
|
||||
|
||||
#define XSCUTIMER_LOAD_OFFSET 0x00 /**< Timer Load Register */
|
||||
#define XSCUTIMER_COUNTER_OFFSET 0x04 /**< Timer Counter Register */
|
||||
#define XSCUTIMER_CONTROL_OFFSET 0x08 /**< Timer Control Register */
|
||||
#define XSCUTIMER_ISR_OFFSET 0x0C /**< Timer Interrupt
|
||||
#define XSCUTIMER_LOAD_OFFSET 0x00U /**< Timer Load Register */
|
||||
#define XSCUTIMER_COUNTER_OFFSET 0x04U /**< Timer Counter Register */
|
||||
#define XSCUTIMER_CONTROL_OFFSET 0x08U /**< Timer Control Register */
|
||||
#define XSCUTIMER_ISR_OFFSET 0x0CU /**< Timer Interrupt
|
||||
Status Register */
|
||||
/* @} */
|
||||
|
||||
|
@ -82,11 +82,11 @@ extern "C" {
|
|||
* @{
|
||||
*/
|
||||
|
||||
#define XSCUTIMER_CONTROL_PRESCALER_MASK 0x0000FF00 /**< Prescaler */
|
||||
#define XSCUTIMER_CONTROL_PRESCALER_SHIFT 8
|
||||
#define XSCUTIMER_CONTROL_IRQ_ENABLE_MASK 0x00000004 /**< Intr enable */
|
||||
#define XSCUTIMER_CONTROL_AUTO_RELOAD_MASK 0x00000002 /**< Auto-reload */
|
||||
#define XSCUTIMER_CONTROL_ENABLE_MASK 0x00000001 /**< Timer enable */
|
||||
#define XSCUTIMER_CONTROL_PRESCALER_MASK 0x0000FF00U /**< Prescaler */
|
||||
#define XSCUTIMER_CONTROL_PRESCALER_SHIFT 8U
|
||||
#define XSCUTIMER_CONTROL_IRQ_ENABLE_MASK 0x00000004U /**< Intr enable */
|
||||
#define XSCUTIMER_CONTROL_AUTO_RELOAD_MASK 0x00000002U /**< Auto-reload */
|
||||
#define XSCUTIMER_CONTROL_ENABLE_MASK 0x00000001U /**< Timer enable */
|
||||
/* @} */
|
||||
|
||||
/** @name Interrupt Status register
|
||||
|
@ -94,7 +94,7 @@ extern "C" {
|
|||
* @{
|
||||
*/
|
||||
|
||||
#define XSCUTIMER_ISR_EVENT_FLAG_MASK 0x00000001 /**< Event flag */
|
||||
#define XSCUTIMER_ISR_EVENT_FLAG_MASK 0x00000001U /**< Event flag */
|
||||
/*@}*/
|
||||
|
||||
/**************************** Type Definitions *******************************/
|
||||
|
@ -118,7 +118,7 @@ extern "C" {
|
|||
*
|
||||
******************************************************************************/
|
||||
#define XScuTimer_SetLoadReg(BaseAddr, Value) \
|
||||
XScuTimer_WriteReg(BaseAddr, XSCUTIMER_LOAD_OFFSET, Value)
|
||||
XScuTimer_WriteReg(BaseAddr, XSCUTIMER_LOAD_OFFSET, (Value))
|
||||
|
||||
/****************************************************************************/
|
||||
/**
|
||||
|
@ -151,7 +151,7 @@ extern "C" {
|
|||
*
|
||||
******************************************************************************/
|
||||
#define XScuTimer_SetCounterReg(BaseAddr, Value) \
|
||||
XScuTimer_WriteReg(BaseAddr, XSCUTIMER_COUNTER_OFFSET, Value)
|
||||
XScuTimer_WriteReg(BaseAddr, XSCUTIMER_COUNTER_OFFSET, (Value))
|
||||
|
||||
/****************************************************************************/
|
||||
/**
|
||||
|
@ -186,7 +186,7 @@ extern "C" {
|
|||
*
|
||||
******************************************************************************/
|
||||
#define XScuTimer_SetControlReg(BaseAddr, Value) \
|
||||
XScuTimer_WriteReg(BaseAddr, XSCUTIMER_CONTROL_OFFSET, Value)
|
||||
XScuTimer_WriteReg(BaseAddr, XSCUTIMER_CONTROL_OFFSET, (Value))
|
||||
|
||||
/****************************************************************************/
|
||||
/**
|
||||
|
@ -219,7 +219,7 @@ extern "C" {
|
|||
*
|
||||
******************************************************************************/
|
||||
#define XScuTimer_SetIntrReg(BaseAddr, Value) \
|
||||
XScuTimer_WriteReg(BaseAddr, XSCUTIMER_ISR_OFFSET, Value)
|
||||
XScuTimer_WriteReg(BaseAddr, XSCUTIMER_ISR_OFFSET, (Value))
|
||||
|
||||
/****************************************************************************/
|
||||
/**
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
|
||||
/************************** Constant Definitions *****************************/
|
||||
|
||||
#define XSCUTIMER_SELFTEST_VALUE 0xA55AF00F
|
||||
#define XSCUTIMER_SELFTEST_VALUE 0xA55AF00FU
|
||||
|
||||
/**************************** Type Definitions *******************************/
|
||||
|
||||
|
@ -79,11 +79,12 @@
|
|||
* @note None.
|
||||
*
|
||||
******************************************************************************/
|
||||
int XScuTimer_SelfTest(XScuTimer *InstancePtr)
|
||||
s32 XScuTimer_SelfTest(XScuTimer *InstancePtr)
|
||||
{
|
||||
u32 Register;
|
||||
u32 CtrlOrig;
|
||||
u32 LoadOrig;
|
||||
s32 Status;
|
||||
|
||||
/*
|
||||
* Assert to ensure the inputs are valid and the instance has been
|
||||
|
@ -97,7 +98,7 @@ int XScuTimer_SelfTest(XScuTimer *InstancePtr)
|
|||
*/
|
||||
CtrlOrig = XScuTimer_ReadReg(InstancePtr->Config.BaseAddr,
|
||||
XSCUTIMER_CONTROL_OFFSET);
|
||||
Register = CtrlOrig & ~XSCUTIMER_CONTROL_ENABLE_MASK;
|
||||
Register = CtrlOrig & (u32)(~XSCUTIMER_CONTROL_ENABLE_MASK);
|
||||
XScuTimer_WriteReg(InstancePtr->Config.BaseAddr,
|
||||
XSCUTIMER_CONTROL_OFFSET, Register);
|
||||
|
||||
|
@ -124,8 +125,11 @@ int XScuTimer_SelfTest(XScuTimer *InstancePtr)
|
|||
* match with the value written to it.
|
||||
*/
|
||||
if (Register != XSCUTIMER_SELFTEST_VALUE) {
|
||||
return XST_FAILURE;
|
||||
Status = (s32)XST_FAILURE;
|
||||
}
|
||||
else {
|
||||
Status = (s32)XST_SUCCESS;
|
||||
}
|
||||
|
||||
return XST_SUCCESS;
|
||||
return Status;
|
||||
}
|
||||
|
|
|
@ -58,6 +58,9 @@
|
|||
|
||||
/***************** Macros (Inline Functions) Definitions *********************/
|
||||
|
||||
/************************** Variable Definitions ****************************/
|
||||
extern XScuTimer_Config XScuTimer_ConfigTable[XPAR_XSCUTIMER_NUM_INSTANCES];
|
||||
|
||||
/************************** Function Prototypes ******************************/
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -75,16 +78,15 @@
|
|||
******************************************************************************/
|
||||
XScuTimer_Config *XScuTimer_LookupConfig(u16 DeviceId)
|
||||
{
|
||||
extern XScuTimer_Config XScuTimer_ConfigTable[];
|
||||
XScuTimer_Config *CfgPtr = NULL;
|
||||
int Index;
|
||||
u32 Index;
|
||||
|
||||
for (Index = 0; Index < XPAR_XSCUTIMER_NUM_INSTANCES; Index++) {
|
||||
for (Index = 0U; Index < XPAR_XSCUTIMER_NUM_INSTANCES; Index++) {
|
||||
if (XScuTimer_ConfigTable[Index].DeviceId == DeviceId) {
|
||||
CfgPtr = &XScuTimer_ConfigTable[Index];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return (CfgPtr);
|
||||
return (XScuTimer_Config *)CfgPtr;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue