From aacfd63331ce3fcf302dbeeeeaf522741798fcc4 Mon Sep 17 00:00:00 2001 From: Mazen NEIFER Date: Tue, 31 Jan 2017 11:17:02 +0100 Subject: [PATCH] Xtensa port: Removed duplicate file and renamed to sys_io.h as other platforms. Change-Id: I293bfa9ff8c5e641c727612c56968cec901dbfec Signed-off-by: Mazen NEIFER --- include/arch/xtensa/arch.h | 1 + .../arch/xtensa/sys_io.h | 5 +- include/arch/xtensa/xtensa_sys_io.h | 111 ------------------ 3 files changed, 3 insertions(+), 114 deletions(-) rename arch/xtensa/include/xtensa_sys_io.h => include/arch/xtensa/sys_io.h (96%) delete mode 100644 include/arch/xtensa/xtensa_sys_io.h diff --git a/include/arch/xtensa/arch.h b/include/arch/xtensa/arch.h index e53c814b6da..d5cfeb2c634 100644 --- a/include/arch/xtensa/arch.h +++ b/include/arch/xtensa/arch.h @@ -20,6 +20,7 @@ extern "C" { #endif #if !defined(_ASMLANGUAGE) && !defined(__ASSEMBLER__) +#include "sys_io.h" /* Include from the very same folder of this file */ #include #include #include diff --git a/arch/xtensa/include/xtensa_sys_io.h b/include/arch/xtensa/sys_io.h similarity index 96% rename from arch/xtensa/include/xtensa_sys_io.h rename to include/arch/xtensa/sys_io.h index b7a9e2e1d0e..5b8dbbda4b3 100644 --- a/arch/xtensa/include/xtensa_sys_io.h +++ b/include/arch/xtensa/sys_io.h @@ -51,15 +51,14 @@ static ALWAYS_INLINE int sys_test_and_set_bit(mem_addr_t addr, unsigned int bit) { int retval = (*(volatile int *)addr) & (1 << bit); *(volatile int *)addr = (*(volatile int *)addr) | (1 << bit); - return retval; } -static ALWAYS_INLINE int sys_test_and_clear_bit(mem_addr_t addr, unsigned int bit) +static ALWAYS_INLINE + int sys_test_and_clear_bit(mem_addr_t addr, unsigned int bit) { int retval = (*(volatile int *)addr) & (1 << bit); *(volatile int *)addr = (*(volatile int *)addr) & ~(1 << bit); - return retval; } diff --git a/include/arch/xtensa/xtensa_sys_io.h b/include/arch/xtensa/xtensa_sys_io.h deleted file mode 100644 index 5f15a834f4c..00000000000 --- a/include/arch/xtensa/xtensa_sys_io.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2016 Cadence Design Systems, Inc. - * SPDX-License-Identifier: Apache-2.0 - */ - -#ifndef XTENSA_SYS_IO_H -#define XTENSA_SYS_IO_H - -#if !defined(_ASMLANGUAGE) - -#include - -/* Memory mapped registers I/O functions */ - -static ALWAYS_INLINE uint32_t sys_read32(mem_addr_t addr) -{ - return *(volatile uint32_t *)addr; -} - - -static ALWAYS_INLINE void sys_write32(uint32_t data, mem_addr_t addr) -{ - *(volatile uint32_t *)addr = data; -} - - -/* Memory bit manipulation functions */ - -static ALWAYS_INLINE void sys_set_bit(mem_addr_t addr, unsigned int bit) -{ - uint32_t temp = *(volatile uint32_t *)addr; - - *(volatile uint32_t *)addr = temp | (1 << bit); -} - -static ALWAYS_INLINE void sys_clear_bit(mem_addr_t addr, unsigned int bit) -{ - uint32_t temp = *(volatile uint32_t *)addr; - - *(volatile uint32_t *)addr = temp & ~(1 << bit); -} - -static ALWAYS_INLINE int sys_test_bit(mem_addr_t addr, unsigned int bit) -{ - int temp = *(volatile int *)addr; - return (int)(temp & (1 << bit)); -} - -static ALWAYS_INLINE int sys_test_and_set_bit(mem_addr_t addr, unsigned int bit) -{ - int retval = (*(volatile int *)addr) & (1 << bit); - *(volatile int *)addr = (*(volatile int *)addr) | (1 << bit); - return retval; -} - -static ALWAYS_INLINE int sys_test_and_clear_bit(mem_addr_t addr, unsigned int bit) -{ - int retval = (*(volatile int *)addr) & (1 << bit); - *(volatile int *)addr = (*(volatile int *)addr) & ~(1 << bit); - return retval; -} - -static ALWAYS_INLINE - void sys_bitfield_set_bit(mem_addr_t addr, unsigned int bit) -{ - /* Doing memory offsets in terms of 32-bit values to prevent - * alignment issues - */ - sys_set_bit(addr + ((bit >> 5) << 2), bit & 0x1F); -} - -static ALWAYS_INLINE - void sys_bitfield_clear_bit(mem_addr_t addr, unsigned int bit) -{ - sys_clear_bit(addr + ((bit >> 5) << 2), bit & 0x1F); -} - -static ALWAYS_INLINE - int sys_bitfield_test_bit(mem_addr_t addr, unsigned int bit) -{ - return sys_test_bit(addr + ((bit >> 5) << 2), bit & 0x1F); -} - - -static ALWAYS_INLINE - int sys_bitfield_test_and_set_bit(mem_addr_t addr, unsigned int bit) -{ - int ret; - - ret = sys_bitfield_test_bit(addr, bit); - sys_bitfield_set_bit(addr, bit); - - return ret; -} - -static ALWAYS_INLINE - int sys_bitfield_test_and_clear_bit(mem_addr_t addr, unsigned int bit) -{ - int ret; - - ret = sys_bitfield_test_bit(addr, bit); - sys_bitfield_clear_bit(addr, bit); - - return ret; -} - - -#endif /* !_ASMLANGUAGE */ - - -#endif /* XTENSA_SYS_IO_H */