diff options
author | David S. Miller <davem@davemloft.net> | 2009-08-06 15:57:18 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-06 15:57:18 -0400 |
commit | bfe34ebbaa125f00da309f59cc9d30febe1e3115 (patch) | |
tree | 505b43fc81be09ec5b42f82a3e64f300a5e838d5 /include | |
parent | 3d7ddd540b4c2d24c6a3e7a52c083a0c31e6151c (diff) | |
parent | 6b4f645a491ac29c7dced415d034eea7736155a6 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/rfkill.h | 1 | ||||
-rw-r--r-- | include/linux/usb/rndis_host.h | 13 | ||||
-rw-r--r-- | include/linux/usb/usbnet.h | 6 | ||||
-rw-r--r-- | include/net/cfg80211.h | 14 | ||||
-rw-r--r-- | include/net/mac80211.h | 58 |
5 files changed, 59 insertions, 33 deletions
diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h index 10202903141a..21ca51bf4dd2 100644 --- a/include/linux/rfkill.h +++ b/include/linux/rfkill.h | |||
@@ -47,6 +47,7 @@ enum rfkill_type { | |||
47 | RFKILL_TYPE_UWB, | 47 | RFKILL_TYPE_UWB, |
48 | RFKILL_TYPE_WIMAX, | 48 | RFKILL_TYPE_WIMAX, |
49 | RFKILL_TYPE_WWAN, | 49 | RFKILL_TYPE_WWAN, |
50 | RFKILL_TYPE_GPS, | ||
50 | NUM_RFKILL_TYPES, | 51 | NUM_RFKILL_TYPES, |
51 | }; | 52 | }; |
52 | 53 | ||
diff --git a/include/linux/usb/rndis_host.h b/include/linux/usb/rndis_host.h index 37836b937d97..1ef1ebc2b04f 100644 --- a/include/linux/usb/rndis_host.h +++ b/include/linux/usb/rndis_host.h | |||
@@ -70,12 +70,13 @@ struct rndis_msg_hdr { | |||
70 | #define RNDIS_MSG_KEEPALIVE_C (RNDIS_MSG_KEEPALIVE|RNDIS_MSG_COMPLETION) | 70 | #define RNDIS_MSG_KEEPALIVE_C (RNDIS_MSG_KEEPALIVE|RNDIS_MSG_COMPLETION) |
71 | 71 | ||
72 | /* codes for "status" field of completion messages */ | 72 | /* codes for "status" field of completion messages */ |
73 | #define RNDIS_STATUS_SUCCESS cpu_to_le32(0x00000000) | 73 | #define RNDIS_STATUS_SUCCESS cpu_to_le32(0x00000000) |
74 | #define RNDIS_STATUS_FAILURE cpu_to_le32(0xc0000001) | 74 | #define RNDIS_STATUS_FAILURE cpu_to_le32(0xc0000001) |
75 | #define RNDIS_STATUS_INVALID_DATA cpu_to_le32(0xc0010015) | 75 | #define RNDIS_STATUS_INVALID_DATA cpu_to_le32(0xc0010015) |
76 | #define RNDIS_STATUS_NOT_SUPPORTED cpu_to_le32(0xc00000bb) | 76 | #define RNDIS_STATUS_NOT_SUPPORTED cpu_to_le32(0xc00000bb) |
77 | #define RNDIS_STATUS_MEDIA_CONNECT cpu_to_le32(0x4001000b) | 77 | #define RNDIS_STATUS_MEDIA_CONNECT cpu_to_le32(0x4001000b) |
78 | #define RNDIS_STATUS_MEDIA_DISCONNECT cpu_to_le32(0x4001000c) | 78 | #define RNDIS_STATUS_MEDIA_DISCONNECT cpu_to_le32(0x4001000c) |
79 | #define RNDIS_STATUS_MEDIA_SPECIFIC_INDICATION cpu_to_le32(0x40010012) | ||
79 | 80 | ||
80 | /* codes for OID_GEN_PHYSICAL_MEDIUM */ | 81 | /* codes for OID_GEN_PHYSICAL_MEDIUM */ |
81 | #define RNDIS_PHYSICAL_MEDIUM_UNSPECIFIED cpu_to_le32(0x00000000) | 82 | #define RNDIS_PHYSICAL_MEDIUM_UNSPECIFIED cpu_to_le32(0x00000000) |
diff --git a/include/linux/usb/usbnet.h b/include/linux/usb/usbnet.h index 7c17b2efba86..de8b4b18961b 100644 --- a/include/linux/usb/usbnet.h +++ b/include/linux/usb/usbnet.h | |||
@@ -86,6 +86,7 @@ struct driver_info { | |||
86 | 86 | ||
87 | #define FLAG_FRAMING_AX 0x0040 /* AX88772/178 packets */ | 87 | #define FLAG_FRAMING_AX 0x0040 /* AX88772/178 packets */ |
88 | #define FLAG_WLAN 0x0080 /* use "wlan%d" names */ | 88 | #define FLAG_WLAN 0x0080 /* use "wlan%d" names */ |
89 | #define FLAG_AVOID_UNLINK_URBS 0x0100 /* don't unlink urbs at usbnet_stop() */ | ||
89 | 90 | ||
90 | 91 | ||
91 | /* init device ... can sleep, or cause probe() failure */ | 92 | /* init device ... can sleep, or cause probe() failure */ |
@@ -121,9 +122,8 @@ struct driver_info { | |||
121 | * right after minidriver have initialized hardware. */ | 122 | * right after minidriver have initialized hardware. */ |
122 | int (*early_init)(struct usbnet *dev); | 123 | int (*early_init)(struct usbnet *dev); |
123 | 124 | ||
124 | /* called by minidriver when link state changes, state: 0=disconnect, | 125 | /* called by minidriver when receiving indication */ |
125 | * 1=connect */ | 126 | void (*indication)(struct usbnet *dev, void *ind, int indlen); |
126 | void (*link_change)(struct usbnet *dev, int state); | ||
127 | 127 | ||
128 | /* for new devices, use the descriptor-reading code instead */ | 128 | /* for new devices, use the descriptor-reading code instead */ |
129 | int in; /* rx endpoint */ | 129 | int in; /* rx endpoint */ |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index e1b92358242b..fa729979de88 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1514,20 +1514,6 @@ unsigned int cfg80211_classify8021d(struct sk_buff *skb); | |||
1514 | extern int regulatory_hint(struct wiphy *wiphy, const char *alpha2); | 1514 | extern int regulatory_hint(struct wiphy *wiphy, const char *alpha2); |
1515 | 1515 | ||
1516 | /** | 1516 | /** |
1517 | * regulatory_hint_11d - hints a country IE as a regulatory domain | ||
1518 | * @wiphy: the wireless device giving the hint (used only for reporting | ||
1519 | * conflicts) | ||
1520 | * @country_ie: pointer to the country IE | ||
1521 | * @country_ie_len: length of the country IE | ||
1522 | * | ||
1523 | * We will intersect the rd with the what CRDA tells us should apply | ||
1524 | * for the alpha2 this country IE belongs to, this prevents APs from | ||
1525 | * sending us incorrect or outdated information against a country. | ||
1526 | */ | ||
1527 | extern void regulatory_hint_11d(struct wiphy *wiphy, | ||
1528 | u8 *country_ie, | ||
1529 | u8 country_ie_len); | ||
1530 | /** | ||
1531 | * wiphy_apply_custom_regulatory - apply a custom driver regulatory domain | 1517 | * wiphy_apply_custom_regulatory - apply a custom driver regulatory domain |
1532 | * @wiphy: the wireless device we want to process the regulatory domain on | 1518 | * @wiphy: the wireless device we want to process the regulatory domain on |
1533 | * @regd: the custom regulatory domain to use for this wiphy | 1519 | * @regd: the custom regulatory domain to use for this wiphy |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index d4e09a06b4a2..e2fb5767e1fa 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -73,6 +73,21 @@ | |||
73 | */ | 73 | */ |
74 | 74 | ||
75 | /** | 75 | /** |
76 | * DOC: mac80211 workqueue | ||
77 | * | ||
78 | * mac80211 provides its own workqueue for drivers and internal mac80211 use. | ||
79 | * The workqueue is a single threaded workqueue and can only be accessed by | ||
80 | * helpers for sanity checking. Drivers must ensure all work added onto the | ||
81 | * mac80211 workqueue should be cancelled on the driver stop() callback. | ||
82 | * | ||
83 | * mac80211 will flushed the workqueue upon interface removal and during | ||
84 | * suspend. | ||
85 | * | ||
86 | * All work performed on the mac80211 workqueue must not acquire the RTNL lock. | ||
87 | * | ||
88 | */ | ||
89 | |||
90 | /** | ||
76 | * enum ieee80211_max_queues - maximum number of queues | 91 | * enum ieee80211_max_queues - maximum number of queues |
77 | * | 92 | * |
78 | * @IEEE80211_MAX_QUEUES: Maximum number of regular device queues. | 93 | * @IEEE80211_MAX_QUEUES: Maximum number of regular device queues. |
@@ -913,12 +928,6 @@ enum ieee80211_hw_flags { | |||
913 | * | 928 | * |
914 | * @conf: &struct ieee80211_conf, device configuration, don't use. | 929 | * @conf: &struct ieee80211_conf, device configuration, don't use. |
915 | * | 930 | * |
916 | * @workqueue: single threaded workqueue available for driver use, | ||
917 | * allocated by mac80211 on registration and flushed when an | ||
918 | * interface is removed. | ||
919 | * NOTICE: All work performed on this workqueue must not | ||
920 | * acquire the RTNL lock. | ||
921 | * | ||
922 | * @priv: pointer to private area that was allocated for driver use | 931 | * @priv: pointer to private area that was allocated for driver use |
923 | * along with this structure. | 932 | * along with this structure. |
924 | * | 933 | * |
@@ -954,7 +963,6 @@ enum ieee80211_hw_flags { | |||
954 | struct ieee80211_hw { | 963 | struct ieee80211_hw { |
955 | struct ieee80211_conf conf; | 964 | struct ieee80211_conf conf; |
956 | struct wiphy *wiphy; | 965 | struct wiphy *wiphy; |
957 | struct workqueue_struct *workqueue; | ||
958 | const char *rate_control_algorithm; | 966 | const char *rate_control_algorithm; |
959 | void *priv; | 967 | void *priv; |
960 | u32 flags; | 968 | u32 flags; |
@@ -1236,10 +1244,13 @@ ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw, | |||
1236 | * mac80211 needs to do and the amount of CPU wakeups, so you should | 1244 | * mac80211 needs to do and the amount of CPU wakeups, so you should |
1237 | * honour this flag if possible. | 1245 | * honour this flag if possible. |
1238 | * | 1246 | * |
1239 | * @FIF_CONTROL: pass control frames, if PROMISC_IN_BSS is not set then | 1247 | * @FIF_CONTROL: pass control frames (except for PS Poll), if PROMISC_IN_BSS |
1240 | * only those addressed to this station | 1248 | * is not set then only those addressed to this station. |
1241 | * | 1249 | * |
1242 | * @FIF_OTHER_BSS: pass frames destined to other BSSes | 1250 | * @FIF_OTHER_BSS: pass frames destined to other BSSes |
1251 | * | ||
1252 | * @FIF_PSPOLL: pass PS Poll frames, if PROMISC_IN_BSS is not set then only | ||
1253 | * those addressed to this station. | ||
1243 | */ | 1254 | */ |
1244 | enum ieee80211_filter_flags { | 1255 | enum ieee80211_filter_flags { |
1245 | FIF_PROMISC_IN_BSS = 1<<0, | 1256 | FIF_PROMISC_IN_BSS = 1<<0, |
@@ -1249,6 +1260,7 @@ enum ieee80211_filter_flags { | |||
1249 | FIF_BCN_PRBRESP_PROMISC = 1<<4, | 1260 | FIF_BCN_PRBRESP_PROMISC = 1<<4, |
1250 | FIF_CONTROL = 1<<5, | 1261 | FIF_CONTROL = 1<<5, |
1251 | FIF_OTHER_BSS = 1<<6, | 1262 | FIF_OTHER_BSS = 1<<6, |
1263 | FIF_PSPOLL = 1<<7, | ||
1252 | }; | 1264 | }; |
1253 | 1265 | ||
1254 | /** | 1266 | /** |
@@ -1301,7 +1313,8 @@ enum ieee80211_ampdu_mlme_action { | |||
1301 | * is disabled. This should turn off the hardware (at least | 1313 | * is disabled. This should turn off the hardware (at least |
1302 | * it must turn off frame reception.) | 1314 | * it must turn off frame reception.) |
1303 | * May be called right after add_interface if that rejects | 1315 | * May be called right after add_interface if that rejects |
1304 | * an interface. | 1316 | * an interface. If you added any work onto the mac80211 workqueue |
1317 | * you should ensure to cancel it on this callback. | ||
1305 | * Must be implemented. | 1318 | * Must be implemented. |
1306 | * | 1319 | * |
1307 | * @add_interface: Called when a netdevice attached to the hardware is | 1320 | * @add_interface: Called when a netdevice attached to the hardware is |
@@ -1928,6 +1941,31 @@ void ieee80211_iterate_active_interfaces_atomic(struct ieee80211_hw *hw, | |||
1928 | void *data); | 1941 | void *data); |
1929 | 1942 | ||
1930 | /** | 1943 | /** |
1944 | * ieee80211_queue_work - add work onto the mac80211 workqueue | ||
1945 | * | ||
1946 | * Drivers and mac80211 use this to add work onto the mac80211 workqueue. | ||
1947 | * This helper ensures drivers are not queueing work when they should not be. | ||
1948 | * | ||
1949 | * @hw: the hardware struct for the interface we are adding work for | ||
1950 | * @work: the work we want to add onto the mac80211 workqueue | ||
1951 | */ | ||
1952 | void ieee80211_queue_work(struct ieee80211_hw *hw, struct work_struct *work); | ||
1953 | |||
1954 | /** | ||
1955 | * ieee80211_queue_delayed_work - add work onto the mac80211 workqueue | ||
1956 | * | ||
1957 | * Drivers and mac80211 use this to queue delayed work onto the mac80211 | ||
1958 | * workqueue. | ||
1959 | * | ||
1960 | * @hw: the hardware struct for the interface we are adding work for | ||
1961 | * @dwork: delayable work to queue onto the mac80211 workqueue | ||
1962 | * @delay: number of jiffies to wait before queueing | ||
1963 | */ | ||
1964 | void ieee80211_queue_delayed_work(struct ieee80211_hw *hw, | ||
1965 | struct delayed_work *dwork, | ||
1966 | unsigned long delay); | ||
1967 | |||
1968 | /** | ||
1931 | * ieee80211_start_tx_ba_session - Start a tx Block Ack session. | 1969 | * ieee80211_start_tx_ba_session - Start a tx Block Ack session. |
1932 | * @hw: pointer as obtained from ieee80211_alloc_hw(). | 1970 | * @hw: pointer as obtained from ieee80211_alloc_hw(). |
1933 | * @ra: receiver address of the BA session recipient | 1971 | * @ra: receiver address of the BA session recipient |