mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 08:02:30 +00:00
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:
parent
74c2d1f63f
commit
31de278078
5 changed files with 15 additions and 183 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
}
|
|
@ -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_ */
|
Loading…
Reference in a new issue