aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIonut Nicu <ionut.nicu@gmail.com>2010-11-21 10:46:19 +0000
committerOmar Ramirez Luna <omar.ramirez@ti.com>2011-02-04 20:11:26 -0600
commit31de278078aeb869467cbde0877d7f1027ab844c (patch)
tree65113f6fd3cef3c131f68e1d44e35e560434880b
parent74c2d1f63f6fff26503f538ddacf0e45feb15f0d (diff)
downloadkernel_samsung_smdk4412-31de278078aeb869467cbde0877d7f1027ab844c.zip
kernel_samsung_smdk4412-31de278078aeb869467cbde0877d7f1027ab844c.tar.gz
kernel_samsung_smdk4412-31de278078aeb869467cbde0877d7f1027ab844c.tar.bz2
staging: tidspbridge: remove gs memory allocator
Remove unnecessary wrappers for linux kernel memory allocation primitives. Signed-off-by: Ionut Nicu <ionut.nicu@mindbit.ro> Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
-rw-r--r--drivers/staging/tidspbridge/Makefile2
-rw-r--r--drivers/staging/tidspbridge/gen/gb.c11
-rw-r--r--drivers/staging/tidspbridge/gen/gh.c38
-rw-r--r--drivers/staging/tidspbridge/gen/gs.c88
-rw-r--r--drivers/staging/tidspbridge/include/dspbridge/gs.h59
5 files changed, 15 insertions, 183 deletions
diff --git a/drivers/staging/tidspbridge/Makefile b/drivers/staging/tidspbridge/Makefile
index 41c644c..648e392 100644
--- a/drivers/staging/tidspbridge/Makefile
+++ b/drivers/staging/tidspbridge/Makefile
@@ -1,6 +1,6 @@
obj-$(CONFIG_TIDSPBRIDGE) += bridgedriver.o
-libgen = gen/gb.o gen/gs.o gen/gh.o gen/uuidutil.o
+libgen = gen/gb.o gen/gh.o gen/uuidutil.o
libcore = core/chnl_sm.o core/msg_sm.o core/io_sm.o core/tiomap3430.o \
core/tiomap3430_pwr.o core/tiomap_io.o \
core/ue_deh.o core/wdt.o core/dsp-clock.o core/sync.o
diff --git a/drivers/staging/tidspbridge/gen/gb.c b/drivers/staging/tidspbridge/gen/gb.c
index 9f59023..3c0e04c 100644
--- a/drivers/staging/tidspbridge/gen/gb.c
+++ b/drivers/staging/tidspbridge/gen/gb.c
@@ -19,7 +19,6 @@
/* ----------------------------------- DSP/BIOS Bridge */
#include <linux/types.h>
/* ----------------------------------- This */
-#include <dspbridge/gs.h>
#include <dspbridge/gb.h>
struct gb_t_map {
@@ -52,17 +51,17 @@ struct gb_t_map *gb_create(u32 len)
{
struct gb_t_map *map;
u32 i;
- map = (struct gb_t_map *)gs_alloc(sizeof(struct gb_t_map));
+ map = kzalloc(sizeof(struct gb_t_map), GFP_KERNEL);
if (map != NULL) {
map->len = len;
map->wcnt = len / BITS_PER_LONG + 1;
- map->words = (u32 *) gs_alloc(map->wcnt * sizeof(u32));
+ map->words = kzalloc(map->wcnt * sizeof(u32), GFP_KERNEL);
if (map->words != NULL) {
for (i = 0; i < map->wcnt; i++)
map->words[i] = 0L;
} else {
- gs_frees(map, sizeof(struct gb_t_map));
+ kfree(map);
map = NULL;
}
}
@@ -78,8 +77,8 @@ struct gb_t_map *gb_create(u32 len)
void gb_delete(struct gb_t_map *map)
{
- gs_frees(map->words, map->wcnt * sizeof(u32));
- gs_frees(map, sizeof(struct gb_t_map));
+ kfree(map->words);
+ kfree(map);
}
/*
diff --git a/drivers/staging/tidspbridge/gen/gh.c b/drivers/staging/tidspbridge/gen/gh.c
index f72d943..cd72503 100644
--- a/drivers/staging/tidspbridge/gen/gh.c
+++ b/drivers/staging/tidspbridge/gen/gh.c
@@ -17,9 +17,6 @@
#include <linux/types.h>
#include <dspbridge/host_os.h>
-
-#include <dspbridge/gs.h>
-
#include <dspbridge/gh.h>
struct element {
@@ -37,8 +34,6 @@ struct gh_t_hash_tab {
};
static void noop(void *p);
-static s32 cur_init;
-static void myfree(void *ptr, s32 size);
/*
* ======== gh_create ========
@@ -51,8 +46,7 @@ struct gh_t_hash_tab *gh_create(u16 max_bucket, u16 val_size,
{
struct gh_t_hash_tab *hash_tab;
u16 i;
- hash_tab =
- (struct gh_t_hash_tab *)gs_alloc(sizeof(struct gh_t_hash_tab));
+ hash_tab = kzalloc(sizeof(struct gh_t_hash_tab), GFP_KERNEL);
if (hash_tab == NULL)
return NULL;
hash_tab->max_bucket = max_bucket;
@@ -62,7 +56,7 @@ struct gh_t_hash_tab *gh_create(u16 max_bucket, u16 val_size,
hash_tab->delete = delete == NULL ? noop : delete;
hash_tab->buckets = (struct element **)
- gs_alloc(sizeof(struct element *) * max_bucket);
+ kzalloc(sizeof(struct element *) * max_bucket, GFP_KERNEL);
if (hash_tab->buckets == NULL) {
gh_delete(hash_tab);
return NULL;
@@ -89,17 +83,14 @@ void gh_delete(struct gh_t_hash_tab *hash_tab)
elem = next) {
next = elem->next;
(*hash_tab->delete) (elem->data);
- myfree(elem,
- sizeof(struct element) - 1 +
- hash_tab->val_size);
+ kfree(elem);
}
}
- myfree(hash_tab->buckets, sizeof(struct element *)
- * hash_tab->max_bucket);
+ kfree(hash_tab->buckets);
}
- myfree(hash_tab, sizeof(struct gh_t_hash_tab));
+ kfree(hash_tab);
}
}
@@ -109,9 +100,7 @@ void gh_delete(struct gh_t_hash_tab *hash_tab)
void gh_exit(void)
{
- if (cur_init-- == 1)
- gs_exit();
-
+ /* Do nothing */
}
/*
@@ -138,8 +127,7 @@ void *gh_find(struct gh_t_hash_tab *hash_tab, void *key)
void gh_init(void)
{
- if (cur_init++ == 0)
- gs_init();
+ /* Do nothing */
}
/*
@@ -152,8 +140,8 @@ void *gh_insert(struct gh_t_hash_tab *hash_tab, void *key, void *value)
u16 i;
char *src, *dst;
- elem = (struct element *)gs_alloc(sizeof(struct element) - 1 +
- hash_tab->val_size);
+ elem = kzalloc(sizeof(struct element) - 1 + hash_tab->val_size,
+ GFP_KERNEL);
if (elem != NULL) {
dst = (char *)elem->data;
@@ -180,14 +168,6 @@ static void noop(void *p)
p = p; /* stifle compiler warning */
}
-/*
- * ======== myfree ========
- */
-static void myfree(void *ptr, s32 size)
-{
- gs_free(ptr);
-}
-
#ifdef CONFIG_TIDSPBRIDGE_BACKTRACE
/**
* gh_iterate() - This function goes through all the elements in the hash table
diff --git a/drivers/staging/tidspbridge/gen/gs.c b/drivers/staging/tidspbridge/gen/gs.c
deleted file mode 100644
index 8335bf5..0000000
--- a/drivers/staging/tidspbridge/gen/gs.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * gs.c
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * General storage memory allocator services.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#include <linux/types.h>
-/* ----------------------------------- DSP/BIOS Bridge */
-#include <dspbridge/dbdefs.h>
-
-/* ----------------------------------- This */
-#include <dspbridge/gs.h>
-
-#include <linux/slab.h>
-
-/* ----------------------------------- Globals */
-static u32 cumsize;
-
-/*
- * ======== gs_alloc ========
- * purpose:
- * Allocates memory of the specified size.
- */
-void *gs_alloc(u32 size)
-{
- void *p;
-
- p = kzalloc(size, GFP_KERNEL);
- if (p == NULL)
- return NULL;
- cumsize += size;
- return p;
-}
-
-/*
- * ======== gs_exit ========
- * purpose:
- * Discontinue the usage of the GS module.
- */
-void gs_exit(void)
-{
- /* Do nothing */
-}
-
-/*
- * ======== gs_free ========
- * purpose:
- * Frees the memory.
- */
-void gs_free(void *ptr)
-{
- kfree(ptr);
- /* ack! no size info */
- /* cumsize -= size; */
-}
-
-/*
- * ======== gs_frees ========
- * purpose:
- * Frees the memory.
- */
-void gs_frees(void *ptr, u32 size)
-{
- kfree(ptr);
- cumsize -= size;
-}
-
-/*
- * ======== gs_init ========
- * purpose:
- * Initializes the GS module.
- */
-void gs_init(void)
-{
- /* Do nothing */
-}
diff --git a/drivers/staging/tidspbridge/include/dspbridge/gs.h b/drivers/staging/tidspbridge/include/dspbridge/gs.h
deleted file mode 100644
index f32d8d9..0000000
--- a/drivers/staging/tidspbridge/include/dspbridge/gs.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * gs.h
- *
- * DSP-BIOS Bridge driver support functions for TI OMAP processors.
- *
- * Memory allocation/release wrappers. This module allows clients to
- * avoid OS spacific issues related to memory allocation. It also provides
- * simple diagnostic capabilities to assist in the detection of memory
- * leaks.
- *
- * Copyright (C) 2005-2006 Texas Instruments, Inc.
- *
- * This package is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef GS_
-#define GS_
-
-/*
- * ======== gs_alloc ========
- * Alloc size bytes of space. Returns pointer to space
- * allocated, otherwise NULL.
- */
-extern void *gs_alloc(u32 size);
-
-/*
- * ======== gs_exit ========
- * Module exit. Do not change to "#define gs_init()"; in
- * some environments this operation must actually do some work!
- */
-extern void gs_exit(void);
-
-/*
- * ======== gs_free ========
- * Free space allocated by gs_alloc() or GS_calloc().
- */
-extern void gs_free(void *ptr);
-
-/*
- * ======== gs_frees ========
- * Free space allocated by gs_alloc() or GS_calloc() and assert that
- * the size of the allocation is size bytes.
- */
-extern void gs_frees(void *ptr, u32 size);
-
-/*
- * ======== gs_init ========
- * Module initialization. Do not change to "#define gs_init()"; in
- * some environments this operation must actually do some work!
- */
-extern void gs_init(void);
-
-#endif /*GS_ */