aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2011-12-19 13:54:26 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-12-19 13:54:26 -0500
commit9f6e20cee6253c4ca5faacba8dbd09ebe70132ed (patch)
tree0dbcdabca91864daaf174bb014a5f46316880403 /include/net
parentd1d182e00d72300e05b18e28372fab003d8d4a58 (diff)
parent5bd5e9a6ae5137a61d0b5c277eac61892d89fc4f (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.h37
-rw-r--r--include/net/nfc/nfc.h21
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 */
3095void 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
63struct nfc_target { 69struct 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
160struct sk_buff *nfc_alloc_skb(unsigned int size, gfp_t gfp); 168struct sk_buff *nfc_alloc_send_skb(struct nfc_dev *dev, struct sock *sk,
169 unsigned int flags, unsigned int size,
170 unsigned int *err);
171struct sk_buff *nfc_alloc_recv_skb(unsigned int size, gfp_t gfp);
172
173int nfc_set_remote_general_bytes(struct nfc_dev *dev,
174 u8 *gt, u8 gt_len);
175
176u8 *nfc_get_local_general_bytes(struct nfc_dev *dev, u8 *gt_len);
161 177
162int nfc_targets_found(struct nfc_dev *dev, struct nfc_target *targets, 178int nfc_targets_found(struct nfc_dev *dev, struct nfc_target *targets,
163 int ntargets); 179 int ntargets);
164 180
181int 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 */