]> bbs.cooldavid.org Git - net-next-2.6.git/blame - drivers/staging/otus/wrap_mem.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit...
[net-next-2.6.git] / drivers / staging / otus / wrap_mem.c
CommitLineData
4bd43f50
LR
1/*
2 * Copyright (c) 2007-2008 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16/* Module Name : wrap_mem.c */
17/* */
18/* Abstract */
19/* This module contains wrapper functions for memory management */
20/* */
21/* NOTES */
22/* Platform dependent. */
23/* */
24/************************************************************************/
25
26#include "oal_dt.h"
27#include "usbdrv.h"
28
29#include <linux/netlink.h>
5a0e3ad6 30#include <linux/slab.h>
4bd43f50 31#include <net/iw_handler.h>
4bd43f50
LR
32
33/* Memory management */
b767fa1d
MT
34/* Called to allocate uncached memory, allocated memory must */
35/* in 4-byte boundary */
36void *zfwMemAllocate(zdev_t *dev, u32_t size)
4bd43f50 37{
b767fa1d
MT
38 void *mem = NULL;
39 mem = kmalloc(size, GFP_ATOMIC);
40 return mem;
4bd43f50
LR
41}
42
43
44/* Called to free allocated memory */
b767fa1d 45void zfwMemFree(zdev_t *dev, void *mem, u32_t size)
4bd43f50 46{
b767fa1d
MT
47 kfree(mem);
48 return;
4bd43f50
LR
49}
50
b767fa1d 51void zfwMemoryCopy(u8_t *dst, u8_t *src, u16_t length)
4bd43f50 52{
b767fa1d 53 /* u16_t i; */
4bd43f50 54
b767fa1d
MT
55 memcpy(dst, src, length);
56 /*
57 * for(i=0; i<length; i++)
58 * {
59 * dst[i] = src[i];
60 * }
61 */
62 return;
4bd43f50
LR
63}
64
b767fa1d 65void zfwZeroMemory(u8_t *va, u16_t length)
4bd43f50 66{
b767fa1d
MT
67 /* u16_t i; */
68 memset(va, 0, length);
69 /*
70 * for(i=0; i<length; i++)
71 * {
72 * va[i] = 0;
73 * }
74 */
75 return;
4bd43f50
LR
76}
77
b767fa1d 78void zfwMemoryMove(u8_t *dst, u8_t *src, u16_t length)
4bd43f50 79{
b767fa1d
MT
80 memcpy(dst, src, length);
81 return;
4bd43f50
LR
82}
83
b767fa1d 84u8_t zfwMemoryIsEqual(u8_t *m1, u8_t *m2, u16_t length)
4bd43f50 85{
b767fa1d
MT
86 /* u16_t i; */
87 int ret;
4bd43f50 88
b767fa1d 89 ret = memcmp(m1, m2, length);
4bd43f50 90
b767fa1d
MT
91 return ((ret == 0) ? TRUE : FALSE);
92 /*
93 * for(i=0; i<length; i++)
94 *{
95 * if ( m1[i] != m2[i] )
96 * {
97 * return FALSE;
98 * }
99 *}
100 *
101 * return TRUE;
102 */
4bd43f50
LR
103}
104
105/* Leave an empty line below to remove warning message on some compiler */