diff options
author | Jerry Chuang <wlanfae@realtek.com> | 2009-05-22 01:16:02 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-06-19 14:00:53 -0400 |
commit | 5f53d8ca3d5d6afa55011e1e858a4bf255a3abf4 (patch) | |
tree | 5dfc036b97b9e68336298a61384e86f619d361e8 /drivers/staging/rtl8192su/ieee80211/scatterwalk.h | |
parent | d01c3c8e13f7be29fae5b55bbd4a01d6f84d3d5e (diff) |
Staging: add rtl8192SU wireless usb driver
Driver from Realtek for the Realtek RTL8192 USB wifi device
Based on the r8187 driver from Andrea Merello <andreamrl@tiscali.it> and
others.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/rtl8192su/ieee80211/scatterwalk.h')
-rw-r--r-- | drivers/staging/rtl8192su/ieee80211/scatterwalk.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/drivers/staging/rtl8192su/ieee80211/scatterwalk.h b/drivers/staging/rtl8192su/ieee80211/scatterwalk.h new file mode 100644 index 00000000000..b1644651901 --- /dev/null +++ b/drivers/staging/rtl8192su/ieee80211/scatterwalk.h | |||
@@ -0,0 +1,51 @@ | |||
1 | /* | ||
2 | * Cryptographic API. | ||
3 | * | ||
4 | * Copyright (c) 2002 James Morris <jmorris@intercode.com.au> | ||
5 | * Copyright (c) 2002 Adam J. Richter <adam@yggdrasil.com> | ||
6 | * Copyright (c) 2004 Jean-Luc Cooke <jlcooke@certainkey.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the Free | ||
10 | * Software Foundation; either version 2 of the License, or (at your option) | ||
11 | * any later version. | ||
12 | * | ||
13 | */ | ||
14 | |||
15 | #ifndef _CRYPTO_SCATTERWALK_H | ||
16 | #define _CRYPTO_SCATTERWALK_H | ||
17 | #include <linux/mm.h> | ||
18 | #include <asm/scatterlist.h> | ||
19 | |||
20 | struct scatter_walk { | ||
21 | struct scatterlist *sg; | ||
22 | struct page *page; | ||
23 | void *data; | ||
24 | unsigned int len_this_page; | ||
25 | unsigned int len_this_segment; | ||
26 | unsigned int offset; | ||
27 | }; | ||
28 | |||
29 | /* Define sg_next is an inline routine now in case we want to change | ||
30 | scatterlist to a linked list later. */ | ||
31 | static inline struct scatterlist *sg_next(struct scatterlist *sg) | ||
32 | { | ||
33 | return sg + 1; | ||
34 | } | ||
35 | |||
36 | static inline int scatterwalk_samebuf(struct scatter_walk *walk_in, | ||
37 | struct scatter_walk *walk_out, | ||
38 | void *src_p, void *dst_p) | ||
39 | { | ||
40 | return walk_in->page == walk_out->page && | ||
41 | walk_in->offset == walk_out->offset && | ||
42 | walk_in->data == src_p && walk_out->data == dst_p; | ||
43 | } | ||
44 | |||
45 | void *scatterwalk_whichbuf(struct scatter_walk *walk, unsigned int nbytes, void *scratch); | ||
46 | void scatterwalk_start(struct scatter_walk *walk, struct scatterlist *sg); | ||
47 | int scatterwalk_copychunks(void *buf, struct scatter_walk *walk, size_t nbytes, int out); | ||
48 | void scatterwalk_map(struct scatter_walk *walk, int out); | ||
49 | void scatterwalk_done(struct scatter_walk *walk, int out, int more); | ||
50 | |||
51 | #endif /* _CRYPTO_SCATTERWALK_H */ | ||