upload tizen1.0 source
[kernel/linux-2.6.36.git] / drivers / staging / otus / wrap_mem.c
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>
30 #include <linux/slab.h>
31 #include <net/iw_handler.h>
32
33 /* Memory management */
34 /* Called to allocate uncached memory, allocated memory must    */
35 /* in 4-byte boundary                                           */
36 void *zfwMemAllocate(zdev_t *dev, u32_t size)
37 {
38         void *mem = NULL;
39         mem = kmalloc(size, GFP_ATOMIC);
40         return mem;
41 }
42
43
44 /* Called to free allocated memory */
45 void zfwMemFree(zdev_t *dev, void *mem, u32_t size)
46 {
47         kfree(mem);
48         return;
49 }
50
51 void zfwMemoryCopy(u8_t *dst, u8_t *src, u16_t length)
52 {
53         /* u16_t i; */
54
55         memcpy(dst, src, length);
56         /*
57          * for(i=0; i<length; i++)
58          * {
59          *      dst[i] = src[i];
60          * }
61          */
62         return;
63 }
64
65 void zfwZeroMemory(u8_t *va, u16_t length)
66 {
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;
76 }
77
78 void zfwMemoryMove(u8_t *dst, u8_t *src, u16_t length)
79 {
80         memcpy(dst, src, length);
81         return;
82 }
83
84 u8_t zfwMemoryIsEqual(u8_t *m1, u8_t *m2, u16_t length)
85 {
86         /* u16_t i; */
87         int ret;
88
89         ret = memcmp(m1, m2, length);
90
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          */
103 }
104
105 /* Leave an empty line below to remove warning message on some compiler */