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>
This commit is contained in:
Ionut Nicu 2010-11-21 10:46:19 +00:00 committed by Omar Ramirez Luna
parent 74c2d1f63f
commit 31de278078
5 changed files with 15 additions and 183 deletions

View File

@ -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

View File

@ -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);
}
/*

View File

@ -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

View File

@ -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 */
}

View File

@ -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_ */