diff --git a/platform/linux-generic/include/api/odp_atomic.h b/platform/linux-generic/include/api/odp_atomic.h
index 213c81f..5c83b39 100644
--- a/platform/linux-generic/include/api/odp_atomic.h
+++ b/platform/linux-generic/include/api/odp_atomic.h
@@ -26,10 +26,6 @@ extern "C" {
  *  @{
  */
 
-/**
- * Atomic integer
- */
-typedef volatile int32_t odp_atomic_int_t;
 
 /**
  * Atomic unsigned integer 64 bits
@@ -43,117 +39,6 @@ typedef volatile uint32_t odp_atomic_u32_t;
 
 
 /**
- * Initialize atomic integer
- *
- * @param ptr    An integer atomic variable
- *
- * @note The operation is not synchronized with other threads
- */
-static inline void odp_atomic_init_int(odp_atomic_int_t *ptr)
-{
-	*ptr = 0;
-}
-
-/**
- * Load value of atomic integer
- *
- * @param ptr    An atomic variable
- *
- * @return atomic integer value
- *
- * @note The operation is not synchronized with other threads
- */
-static inline int odp_atomic_load_int(odp_atomic_int_t *ptr)
-{
-	return *ptr;
-}
-
-/**
- * Store value to atomic integer
- *
- * @param ptr        An atomic variable
- * @param new_value  Store new_value to a variable
- *
- * @note The operation is not synchronized with other threads
- */
-static inline void odp_atomic_store_int(odp_atomic_int_t *ptr, int new_value)
-{
-	*ptr = new_value;
-}
-
-/**
- * Fetch and add atomic integer
- *
- * @param ptr    An atomic variable
- * @param value  A value to be added to the variable
- *
- * @return Value of the variable before the operation
- */
-static inline int odp_atomic_fetch_add_int(odp_atomic_int_t *ptr, int value)
-{
-	return __sync_fetch_and_add(ptr, value);
-}
-
-/**
- * Fetch and subtract atomic integer
- *
- * @param ptr    An atomic integer variable
- * @param value  A value to be subtracted from the variable
- *
- * @return Value of the variable before the operation
- */
-static inline int odp_atomic_fetch_sub_int(odp_atomic_int_t *ptr, int value)
-{
-	return __sync_fetch_and_sub(ptr, value);
-}
-
-/**
- * Fetch and increment atomic integer by 1
- *
- * @param ptr    An atomic variable
- *
- * @return Value of the variable before the operation
- */
-static inline int odp_atomic_fetch_inc_int(odp_atomic_int_t *ptr)
-{
-	return odp_atomic_fetch_add_int(ptr, 1);
-}
-
-/**
- * Increment atomic integer by 1
- *
- * @param ptr    An atomic variable
- *
- */
-static inline void odp_atomic_inc_int(odp_atomic_int_t *ptr)
-{
-	odp_atomic_fetch_add_int(ptr, 1);
-}
-
-/**
- * Fetch and decrement atomic integer by 1
- *
- * @param ptr    An atomic int variable
- *
- * @return Value of the variable before the operation
- */
-static inline int odp_atomic_fetch_dec_int(odp_atomic_int_t *ptr)
-{
-	return odp_atomic_fetch_sub_int(ptr, 1);
-}
-
-/**
- * Decrement atomic integer by 1
- *
- * @param ptr    An atomic variable
- *
- */
-static inline void odp_atomic_dec_int(odp_atomic_int_t *ptr)
-{
-	odp_atomic_fetch_sub_int(ptr, 1);
-}
-
-/**
  * Initialize atomic uint32
  *
  * @param ptr    An atomic variable
diff --git a/platform/linux-generic/include/api/odp_barrier.h b/platform/linux-generic/include/api/odp_barrier.h
index 866648f..fb02a9d 100644
--- a/platform/linux-generic/include/api/odp_barrier.h
+++ b/platform/linux-generic/include/api/odp_barrier.h
@@ -31,8 +31,8 @@ extern "C" {
  * ODP execution barrier
  */
 typedef struct odp_barrier_t {
-	int              count;  /**< @private Thread count */
-	odp_atomic_int_t bar;    /**< @private Barrier counter */
+	uint32_t         count;  /**< @private Thread count */
+	odp_atomic_u32_t bar;    /**< @private Barrier counter */
 } odp_barrier_t;
 
 
diff --git a/platform/linux-generic/include/odp_buffer_internal.h b/platform/linux-generic/include/odp_buffer_internal.h
index 2002b51..0027bfc 100644
--- a/platform/linux-generic/include/odp_buffer_internal.h
+++ b/platform/linux-generic/include/odp_buffer_internal.h
@@ -88,7 +88,7 @@ typedef struct odp_buffer_hdr_t {
 	uint32_t                 index;	     /* buf index in the pool */
 	size_t                   size;       /* max data size */
 	size_t                   cur_offset; /* current offset */
-	odp_atomic_int_t         ref_count;  /* reference count */
+	odp_atomic_u32_t         ref_count;  /* reference count */
 	odp_buffer_scatter_t     scatter;    /* Scatter/gather list */
 	int                      type;       /* type of next header */
 	odp_buffer_pool_t        pool_hdl;   /* buffer pool handle */
diff --git a/platform/linux-generic/odp_barrier.c b/platform/linux-generic/odp_barrier.c
index a82b294..f4a87c8 100644
--- a/platform/linux-generic/odp_barrier.c
+++ b/platform/linux-generic/odp_barrier.c
@@ -11,7 +11,7 @@
 void odp_barrier_init_count(odp_barrier_t *barrier, int count)
 {
 	barrier->count = count;
-	barrier->bar = 0;
+	barrier->bar   = 0;
 	odp_sync_stores();
 }
 
@@ -30,12 +30,12 @@ void odp_barrier_init_count(odp_barrier_t *barrier, int count)
 
 void odp_barrier_sync(odp_barrier_t *barrier)
 {
-	int count;
+	uint32_t count;
 	int wasless;
 
 	odp_sync_stores();
 	wasless = barrier->bar < barrier->count;
-	count = odp_atomic_fetch_inc_int(&barrier->bar);
+	count   = odp_atomic_fetch_inc_u32(&barrier->bar);
 
 	if (count == 2*barrier->count-1) {
 		barrier->bar = 0;
diff --git a/platform/linux-generic/odp_thread.c b/platform/linux-generic/odp_thread.c
index b869b27..dcb893d 100644
--- a/platform/linux-generic/odp_thread.c
+++ b/platform/linux-generic/odp_thread.c
@@ -31,7 +31,7 @@ typedef struct {
 
 typedef struct {
 	thread_state_t   thr[ODP_CONFIG_MAX_THREADS];
-	odp_atomic_int_t num;
+	odp_atomic_u32_t num;
 
 } thread_globals_t;
 
@@ -64,10 +64,10 @@ int odp_thread_init_global(void)
 
 static int thread_id(void)
 {
-	int id;
+	uint32_t id;
 	int cpu;
 
-	id = odp_atomic_fetch_add_int(&thread_globals->num, 1);
+	id = odp_atomic_fetch_inc_u32(&thread_globals->num);
 
 	if (id >= ODP_CONFIG_MAX_THREADS) {
 		ODP_ERR("Too many threads\n");
diff --git a/test/api_test/odp_atomic_test.c b/test/api_test/odp_atomic_test.c
index d92a8c1..3ca7674 100644
--- a/test/api_test/odp_atomic_test.c
+++ b/test/api_test/odp_atomic_test.c
@@ -10,17 +10,14 @@
 #include <odp_common.h>
 #include <odp_atomic_test.h>
 
-static odp_atomic_int_t a32;
 static odp_atomic_u32_t a32u;
 static odp_atomic_u64_t a64u;
 
-static odp_atomic_int_t numthrds;
+static odp_atomic_u32_t numthrds;
 
 static const char * const test_name[] = {
 	"dummy",
 	"test atomic basic ops add/sub/inc/dec",
-	"test atomic inc/dec of signed word",
-	"test atomic add/sub of signed word",
 	"test atomic inc/dec of unsigned word",
 	"test atomic add/sub of unsigned word",
 	"test atomic inc/dec of unsigned double word",
@@ -34,12 +31,10 @@ static void usage(void)
 	printf("\n./odp_atomic -t <testcase> -n <num of pthread>,\n\n"
 	       "\t<testcase> is\n"
 	       "\t\t1 - Test mix(does inc,dec,add,sub on 32/64 bit)\n"
-	       "\t\t2 - Test inc dec of signed word\n"
-	       "\t\t3 - Test add sub of signed word\n"
-	       "\t\t4 - Test inc dec of unsigned word\n"
-	       "\t\t5 - Test add sub of unsigned word\n"
-	       "\t\t6 - Test inc dec of double word\n"
-	       "\t\t7 - Test add sub of double word\n"
+	       "\t\t2 - Test inc dec of unsigned word\n"
+	       "\t\t3 - Test add sub of unsigned word\n"
+	       "\t\t4 - Test inc dec of double word\n"
+	       "\t\t5 - Test add sub of double word\n"
 	       "\t<num of pthread> is optional\n"
 	       "\t\t<1 - 31> - no of pthreads to start\n"
 	       "\t\tif user doesn't specify this option, then\n"
@@ -50,13 +45,6 @@ static void usage(void)
 	       "\t\t./odp_atomic -t 3 -n 12\n");
 }
 
-void test_atomic_inc_32(void)
-{
-	int i;
-
-	for (i = 0; i < CNT; i++)
-		odp_atomic_inc_int(&a32);
-}
 
 void test_atomic_inc_u32(void)
 {
@@ -74,14 +62,6 @@ void test_atomic_inc_64(void)
 		odp_atomic_inc_u64(&a64u);
 }
 
-void test_atomic_dec_32(void)
-{
-	int i;
-
-	for (i = 0; i < CNT; i++)
-		odp_atomic_dec_int(&a32);
-}
-
 void test_atomic_dec_u32(void)
 {
 	int i;
@@ -98,14 +78,6 @@ void test_atomic_dec_64(void)
 		odp_atomic_dec_u64(&a64u);
 }
 
-void test_atomic_add_32(void)
-{
-	int i;
-
-	for (i = 0; i < (CNT / ADD_SUB_CNT); i++)
-		odp_atomic_fetch_add_int(&a32, ADD_SUB_CNT);
-}
-
 void test_atomic_add_u32(void)
 {
 	int i;
@@ -122,14 +94,6 @@ void test_atomic_add_64(void)
 		odp_atomic_fetch_add_u64(&a64u, ADD_SUB_CNT);
 }
 
-void test_atomic_sub_32(void)
-{
-	int i;
-
-	for (i = 0; i < (CNT / ADD_SUB_CNT); i++)
-		odp_atomic_fetch_sub_int(&a32, ADD_SUB_CNT);
-}
-
 void test_atomic_sub_u32(void)
 {
 	int i;
@@ -146,18 +110,6 @@ void test_atomic_sub_64(void)
 		odp_atomic_fetch_sub_u64(&a64u, ADD_SUB_CNT);
 }
 
-void test_atomic_inc_dec_32(void)
-{
-	test_atomic_inc_32();
-	test_atomic_dec_32();
-}
-
-void test_atomic_add_sub_32(void)
-{
-	test_atomic_add_32();
-	test_atomic_sub_32();
-}
-
 void test_atomic_inc_dec_u32(void)
 {
 	test_atomic_inc_u32();
@@ -188,11 +140,6 @@ void test_atomic_add_sub_64(void)
  */
 void test_atomic_basic(void)
 {
-	test_atomic_inc_32();
-	test_atomic_dec_32();
-	test_atomic_add_32();
-	test_atomic_sub_32();
-
 	test_atomic_inc_u32();
 	test_atomic_dec_u32();
 	test_atomic_add_u32();
@@ -206,25 +153,18 @@ void test_atomic_basic(void)
 
 void test_atomic_init(void)
 {
-	odp_atomic_init_int(&a32);
 	odp_atomic_init_u32(&a32u);
 	odp_atomic_init_u64(&a64u);
 }
 
 void test_atomic_store(void)
 {
-	odp_atomic_store_int(&a32, S32_INIT_VAL);
 	odp_atomic_store_u32(&a32u, U32_INIT_VAL);
 	odp_atomic_store_u64(&a64u, U64_INIT_VAL);
 }
 
 int test_atomic_validate(void)
 {
-	if (odp_atomic_load_int(&a32) != S32_INIT_VAL) {
-		ODP_ERR("Atomic signed 32 usual functions failed\n");
-		return -1;
-	}
-
 	if (odp_atomic_load_u32(&a32u) != U32_INIT_VAL) {
 		ODP_ERR("Atomic u32 usual functions failed\n");
 		return -1;
@@ -247,7 +187,7 @@ static void *run_thread(void *arg)
 
 	ODP_DBG("Thread %i starts\n", thr);
 
-	odp_atomic_inc_int(&numthrds);
+	odp_atomic_inc_u32(&numthrds);
 
 	/* Wait here until all pthreads are created */
 	while (*(volatile int *)&numthrds < parg->numthrds)
@@ -259,12 +199,6 @@ static void *run_thread(void *arg)
 	case TEST_MIX:
 		test_atomic_basic();
 		break;
-	case TEST_INC_DEC_S32:
-		test_atomic_inc_dec_32();
-		break;
-	case TEST_ADD_SUB_S32:
-		test_atomic_add_sub_32();
-		break;
 	case TEST_INC_DEC_U32:
 		test_atomic_inc_dec_u32();
 		break;
@@ -328,7 +262,7 @@ int main(int argc, char *argv[])
 	if (pthrdnum == 0)
 		pthrdnum = odp_sys_core_count();
 
-	odp_atomic_init_int(&numthrds);
+	odp_atomic_init_u32(&numthrds);
 	test_atomic_init();
 	test_atomic_store();
 
diff --git a/test/api_test/odp_atomic_test.h b/test/api_test/odp_atomic_test.h
index 7814da5..aaa9d34 100644
--- a/test/api_test/odp_atomic_test.h
+++ b/test/api_test/odp_atomic_test.h
@@ -18,14 +18,11 @@
 #define ADD_SUB_CNT	5
 
 #define	CNT 500000
-#define	S32_INIT_VAL	(1UL << 10)
 #define	U32_INIT_VAL	(1UL << 10)
 #define	U64_INIT_VAL	(1ULL << 33)
 
 typedef enum {
 	TEST_MIX = 1, /* Must be first test case num */
-	TEST_INC_DEC_S32,
-	TEST_ADD_SUB_S32,
 	TEST_INC_DEC_U32,
 	TEST_ADD_SUB_U32,
 	TEST_INC_DEC_64,
@@ -34,16 +31,10 @@ typedef enum {
 } odp_test_atomic_t;
 
 
-void test_atomic_inc_dec_32(void);
-void test_atomic_add_sub_32(void);
 void test_atomic_inc_dec_u32(void);
 void test_atomic_add_sub_u32(void);
 void test_atomic_inc_dec_64(void);
 void test_atomic_add_sub_64(void);
-void test_atomic_inc_32(void);
-void test_atomic_dec_32(void);
-void test_atomic_add_32(void);
-void test_atomic_sub_32(void);
 void test_atomic_inc_u32(void);
 void test_atomic_dec_u32(void);
 void test_atomic_add_u32(void);
