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
/* ----------------------------------- DSP/BIOS Bridge */
#include <linux/types.h>
/* ----------------------------------- This */
-#include <dspbridge/gs.h>
#include <dspbridge/gb.h>
struct gb_t_map {
{
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;
}
}
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);
}
/*
#include <linux/types.h>
#include <dspbridge/host_os.h>
-
-#include <dspbridge/gs.h>
-
#include <dspbridge/gh.h>
struct element {
};
static void noop(void *p);
-static s32 cur_init;
-static void myfree(void *ptr, s32 size);
/*
* ======== gh_create ========
{
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;
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;
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);
}
}
void gh_exit(void)
{
- if (cur_init-- == 1)
- gs_exit();
-
+ /* Do nothing */
}
/*
void gh_init(void)
{
- if (cur_init++ == 0)
- gs_init();
+ /* Do nothing */
}
/*
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;
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
+++ /dev/null
-/*
- * 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 */
-}
+++ /dev/null
-/*
- * 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_ */