diff options
author | John W. Linville <linville@tuxdriver.com> | 2011-12-19 13:54:26 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-12-19 13:54:26 -0500 |
commit | 9f6e20cee6253c4ca5faacba8dbd09ebe70132ed (patch) | |
tree | 0dbcdabca91864daaf174bb014a5f46316880403 /include/net | |
parent | d1d182e00d72300e05b18e28372fab003d8d4a58 (diff) | |
parent | 5bd5e9a6ae5137a61d0b5c277eac61892d89fc4f (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/cfg80211.h | 37 | ||||
-rw-r--r-- | include/net/nfc/nfc.h | 21 |
2 files changed, 55 insertions, 3 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 3de1c39d03e5..9f85fca0b676 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1346,7 +1346,12 @@ struct cfg80211_gtk_rekey_data { | |||
1346 | * | 1346 | * |
1347 | * @add_station: Add a new station. | 1347 | * @add_station: Add a new station. |
1348 | * @del_station: Remove a station; @mac may be NULL to remove all stations. | 1348 | * @del_station: Remove a station; @mac may be NULL to remove all stations. |
1349 | * @change_station: Modify a given station. | 1349 | * @change_station: Modify a given station. Note that flags changes are not much |
1350 | * validated in cfg80211, in particular the auth/assoc/authorized flags | ||
1351 | * might come to the driver in invalid combinations -- make sure to check | ||
1352 | * them, also against the existing state! Also, supported_rates changes are | ||
1353 | * not checked in station mode -- drivers need to reject (or ignore) them | ||
1354 | * for anything but TDLS peers. | ||
1350 | * @get_station: get station information for the station identified by @mac | 1355 | * @get_station: get station information for the station identified by @mac |
1351 | * @dump_station: dump station callback -- resume dump at index @idx | 1356 | * @dump_station: dump station callback -- resume dump at index @idx |
1352 | * | 1357 | * |
@@ -1694,7 +1699,9 @@ struct cfg80211_ops { | |||
1694 | * regulatory domain no user regulatory domain can enable these channels | 1699 | * regulatory domain no user regulatory domain can enable these channels |
1695 | * at a later time. This can be used for devices which do not have | 1700 | * at a later time. This can be used for devices which do not have |
1696 | * calibration information guaranteed for frequencies or settings | 1701 | * calibration information guaranteed for frequencies or settings |
1697 | * outside of its regulatory domain. | 1702 | * outside of its regulatory domain. If used in combination with |
1703 | * WIPHY_FLAG_CUSTOM_REGULATORY the inspected country IE power settings | ||
1704 | * will be followed. | ||
1698 | * @WIPHY_FLAG_DISABLE_BEACON_HINTS: enable this if your driver needs to ensure | 1705 | * @WIPHY_FLAG_DISABLE_BEACON_HINTS: enable this if your driver needs to ensure |
1699 | * that passive scan flags and beaconing flags may not be lifted by | 1706 | * that passive scan flags and beaconing flags may not be lifted by |
1700 | * cfg80211 due to regulatory beacon hints. For more information on beacon | 1707 | * cfg80211 due to regulatory beacon hints. For more information on beacon |
@@ -3064,6 +3071,32 @@ void cfg80211_roamed(struct net_device *dev, | |||
3064 | const u8 *resp_ie, size_t resp_ie_len, gfp_t gfp); | 3071 | const u8 *resp_ie, size_t resp_ie_len, gfp_t gfp); |
3065 | 3072 | ||
3066 | /** | 3073 | /** |
3074 | * cfg80211_roamed_bss - notify cfg80211 of roaming | ||
3075 | * | ||
3076 | * @dev: network device | ||
3077 | * @bss: entry of bss to which STA got roamed | ||
3078 | * @req_ie: association request IEs (maybe be %NULL) | ||
3079 | * @req_ie_len: association request IEs length | ||
3080 | * @resp_ie: association response IEs (may be %NULL) | ||
3081 | * @resp_ie_len: assoc response IEs length | ||
3082 | * @gfp: allocation flags | ||
3083 | * | ||
3084 | * This is just a wrapper to notify cfg80211 of roaming event with driver | ||
3085 | * passing bss to avoid a race in timeout of the bss entry. It should be | ||
3086 | * called by the underlying driver whenever it roamed from one AP to another | ||
3087 | * while connected. Drivers which have roaming implemented in firmware | ||
3088 | * may use this function to avoid a race in bss entry timeout where the bss | ||
3089 | * entry of the new AP is seen in the driver, but gets timed out by the time | ||
3090 | * it is accessed in __cfg80211_roamed() due to delay in scheduling | ||
3091 | * rdev->event_work. In case of any failures, the reference is released | ||
3092 | * either in cfg80211_roamed_bss() or in __cfg80211_romed(), Otherwise, | ||
3093 | * it will be released while diconneting from the current bss. | ||
3094 | */ | ||
3095 | void cfg80211_roamed_bss(struct net_device *dev, struct cfg80211_bss *bss, | ||
3096 | const u8 *req_ie, size_t req_ie_len, | ||
3097 | const u8 *resp_ie, size_t resp_ie_len, gfp_t gfp); | ||
3098 | |||
3099 | /** | ||
3067 | * cfg80211_disconnected - notify cfg80211 that connection was dropped | 3100 | * cfg80211_disconnected - notify cfg80211 that connection was dropped |
3068 | * | 3101 | * |
3069 | * @dev: network device | 3102 | * @dev: network device |
diff --git a/include/net/nfc/nfc.h b/include/net/nfc/nfc.h index 6a7f602aa841..ccfe757a94ec 100644 --- a/include/net/nfc/nfc.h +++ b/include/net/nfc/nfc.h | |||
@@ -52,6 +52,9 @@ struct nfc_ops { | |||
52 | int (*dev_down)(struct nfc_dev *dev); | 52 | int (*dev_down)(struct nfc_dev *dev); |
53 | int (*start_poll)(struct nfc_dev *dev, u32 protocols); | 53 | int (*start_poll)(struct nfc_dev *dev, u32 protocols); |
54 | void (*stop_poll)(struct nfc_dev *dev); | 54 | void (*stop_poll)(struct nfc_dev *dev); |
55 | int (*dep_link_up)(struct nfc_dev *dev, int target_idx, | ||
56 | u8 comm_mode, u8 rf_mode); | ||
57 | int (*dep_link_down)(struct nfc_dev *dev); | ||
55 | int (*activate_target)(struct nfc_dev *dev, u32 target_idx, | 58 | int (*activate_target)(struct nfc_dev *dev, u32 target_idx, |
56 | u32 protocol); | 59 | u32 protocol); |
57 | void (*deactivate_target)(struct nfc_dev *dev, u32 target_idx); | 60 | void (*deactivate_target)(struct nfc_dev *dev, u32 target_idx); |
@@ -60,6 +63,9 @@ struct nfc_ops { | |||
60 | void *cb_context); | 63 | void *cb_context); |
61 | }; | 64 | }; |
62 | 65 | ||
66 | #define NFC_TARGET_IDX_ANY -1 | ||
67 | #define NFC_MAX_GT_LEN 48 | ||
68 | |||
63 | struct nfc_target { | 69 | struct nfc_target { |
64 | u32 idx; | 70 | u32 idx; |
65 | u32 supported_protocols; | 71 | u32 supported_protocols; |
@@ -83,6 +89,8 @@ struct nfc_dev { | |||
83 | bool dev_up; | 89 | bool dev_up; |
84 | bool polling; | 90 | bool polling; |
85 | bool remote_activated; | 91 | bool remote_activated; |
92 | bool dep_link_up; | ||
93 | u32 dep_rf_mode; | ||
86 | struct nfc_genl_data genl_data; | 94 | struct nfc_genl_data genl_data; |
87 | u32 supported_protocols; | 95 | u32 supported_protocols; |
88 | 96 | ||
@@ -157,9 +165,20 @@ static inline const char *nfc_device_name(struct nfc_dev *dev) | |||
157 | return dev_name(&dev->dev); | 165 | return dev_name(&dev->dev); |
158 | } | 166 | } |
159 | 167 | ||
160 | struct sk_buff *nfc_alloc_skb(unsigned int size, gfp_t gfp); | 168 | struct sk_buff *nfc_alloc_send_skb(struct nfc_dev *dev, struct sock *sk, |
169 | unsigned int flags, unsigned int size, | ||
170 | unsigned int *err); | ||
171 | struct sk_buff *nfc_alloc_recv_skb(unsigned int size, gfp_t gfp); | ||
172 | |||
173 | int nfc_set_remote_general_bytes(struct nfc_dev *dev, | ||
174 | u8 *gt, u8 gt_len); | ||
175 | |||
176 | u8 *nfc_get_local_general_bytes(struct nfc_dev *dev, u8 *gt_len); | ||
161 | 177 | ||
162 | int nfc_targets_found(struct nfc_dev *dev, struct nfc_target *targets, | 178 | int nfc_targets_found(struct nfc_dev *dev, struct nfc_target *targets, |
163 | int ntargets); | 179 | int ntargets); |
164 | 180 | ||
181 | int nfc_dep_link_is_up(struct nfc_dev *dev, u32 target_idx, | ||
182 | u8 comm_mode, u8 rf_mode); | ||
183 | |||
165 | #endif /* __NET_NFC_H */ | 184 | #endif /* __NET_NFC_H */ |