diff --git a/bsps/powerpc/gen5200/include/bsp/bestcomm/task_api/bestcomm_cntrl.h b/bsps/powerpc/gen5200/include/bsp/bestcomm/task_api/bestcomm_cntrl.h index 3712bae3d0..245f6bbeaa 100644 --- a/bsps/powerpc/gen5200/include/bsp/bestcomm/task_api/bestcomm_cntrl.h +++ b/bsps/powerpc/gen5200/include/bsp/bestcomm/task_api/bestcomm_cntrl.h @@ -118,16 +118,18 @@ #define SDMA_INT_ENABLE(RegAddr, Bit) \ do { \ rtems_interrupt_level level; \ + volatile uint32 *reg = (volatile uint32 *) RegAddr; \ rtems_interrupt_disable(level); \ - *((volatile uint32 *) RegAddr) &= ~((uint32) (1 << Bit)); \ + *reg &= ~((uint32) (1 << Bit)); \ rtems_interrupt_enable(level); \ } while (0) #define SDMA_INT_DISABLE(RegAddr, Bit) \ do { \ rtems_interrupt_level level; \ + volatile uint32 *reg = (volatile uint32 *) RegAddr; \ rtems_interrupt_disable(level); \ - *((volatile uint32 *) (RegAddr)) |= ((uint32)(1 << Bit)); \ + *reg |= ((uint32)(1 << Bit)); \ rtems_interrupt_enable(level); \ } while (0) @@ -147,7 +149,8 @@ /* Clear the IntPend bit */ #define SDMA_CLEAR_IEVENT(RegAddr, Bit) { \ - *((volatile uint32 *)RegAddr) = ((uint32)(1<