aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2011-08-29 14:52:20 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-08-29 14:52:20 -0400
commitba6e5eb107b4b26444cb67ce6fb8eb0973a97964 (patch)
tree9377baf652e0cd8360372020b0386e238d07a30d /include
parentf3116f62cb56ef5efd172371fab688bb27529f69 (diff)
parenta508a6ea234571e0e7d1e9f2455fc1eca54d1fef (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Diffstat (limited to 'include')
-rw-r--r--include/linux/bcma/bcma_driver_chipcommon.h18
-rw-r--r--include/linux/ieee80211.h59
-rw-r--r--include/linux/nfc.h2
-rw-r--r--include/linux/nl80211.h32
-rw-r--r--include/net/cfg80211.h12
-rw-r--r--include/net/mac80211.h2
-rw-r--r--include/net/nfc.h7
-rw-r--r--include/net/regulatory.h16
8 files changed, 119 insertions, 29 deletions
diff --git a/include/linux/bcma/bcma_driver_chipcommon.h b/include/linux/bcma/bcma_driver_chipcommon.h
index 6083725dd22..a7ae33d06f2 100644
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -283,6 +283,22 @@
283#define BCMA_CC_PPL_PCHI_OFF 5 283#define BCMA_CC_PPL_PCHI_OFF 5
284#define BCMA_CC_PPL_PCHI_MASK 0x0000003f 284#define BCMA_CC_PPL_PCHI_MASK 0x0000003f
285 285
286/* BCM4331 ChipControl numbers. */
287#define BCMA_CHIPCTL_4331_BT_COEXIST BIT(0) /* 0 disable */
288#define BCMA_CHIPCTL_4331_SECI BIT(1) /* 0 SECI is disabled (JATG functional) */
289#define BCMA_CHIPCTL_4331_EXT_LNA BIT(2) /* 0 disable */
290#define BCMA_CHIPCTL_4331_SPROM_GPIO13_15 BIT(3) /* sprom/gpio13-15 mux */
291#define BCMA_CHIPCTL_4331_EXTPA_EN BIT(4) /* 0 ext pa disable, 1 ext pa enabled */
292#define BCMA_CHIPCTL_4331_GPIOCLK_ON_SPROMCS BIT(5) /* set drive out GPIO_CLK on sprom_cs pin */
293#define BCMA_CHIPCTL_4331_PCIE_MDIO_ON_SPROMCS BIT(6) /* use sprom_cs pin as PCIE mdio interface */
294#define BCMA_CHIPCTL_4331_EXTPA_ON_GPIO2_5 BIT(7) /* aband extpa will be at gpio2/5 and sprom_dout */
295#define BCMA_CHIPCTL_4331_OVR_PIPEAUXCLKEN BIT(8) /* override core control on pipe_AuxClkEnable */
296#define BCMA_CHIPCTL_4331_OVR_PIPEAUXPWRDOWN BIT(9) /* override core control on pipe_AuxPowerDown */
297#define BCMA_CHIPCTL_4331_PCIE_AUXCLKEN BIT(10) /* pcie_auxclkenable */
298#define BCMA_CHIPCTL_4331_PCIE_PIPE_PLLDOWN BIT(11) /* pcie_pipe_pllpowerdown */
299#define BCMA_CHIPCTL_4331_BT_SHD0_ON_GPIO4 BIT(16) /* enable bt_shd0 at gpio4 */
300#define BCMA_CHIPCTL_4331_BT_SHD1_ON_GPIO5 BIT(17) /* enable bt_shd1 at gpio5 */
301
286/* Data for the PMU, if available. 302/* Data for the PMU, if available.
287 * Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU) 303 * Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU)
288 */ 304 */
@@ -342,6 +358,8 @@ extern void bcma_core_chipcommon_init(struct bcma_drv_cc *cc);
342extern void bcma_chipco_suspend(struct bcma_drv_cc *cc); 358extern void bcma_chipco_suspend(struct bcma_drv_cc *cc);
343extern void bcma_chipco_resume(struct bcma_drv_cc *cc); 359extern void bcma_chipco_resume(struct bcma_drv_cc *cc);
344 360
361void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable);
362
345extern void bcma_chipco_watchdog_timer_set(struct bcma_drv_cc *cc, 363extern void bcma_chipco_watchdog_timer_set(struct bcma_drv_cc *cc,
346 u32 ticks); 364 u32 ticks);
347 365
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
index 54c87896087..37f95f2e10f 100644
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
@@ -629,9 +629,14 @@ struct ieee80211_rann_ie {
629 u8 rann_ttl; 629 u8 rann_ttl;
630 u8 rann_addr[6]; 630 u8 rann_addr[6];
631 u32 rann_seq; 631 u32 rann_seq;
632 u32 rann_interval;
632 u32 rann_metric; 633 u32 rann_metric;
633} __attribute__ ((packed)); 634} __attribute__ ((packed));
634 635
636enum ieee80211_rann_flags {
637 RANN_FLAG_IS_GATE = 1 << 0,
638};
639
635#define WLAN_SA_QUERY_TR_ID_LEN 2 640#define WLAN_SA_QUERY_TR_ID_LEN 2
636 641
637struct ieee80211_mgmt { 642struct ieee80211_mgmt {
@@ -736,19 +741,10 @@ struct ieee80211_mgmt {
736 __le16 params; 741 __le16 params;
737 __le16 reason_code; 742 __le16 reason_code;
738 } __attribute__((packed)) delba; 743 } __attribute__((packed)) delba;
739 struct{ 744 struct {
740 u8 action_code; 745 u8 action_code;
741 /* capab_info for open and confirm,
742 * reason for close
743 */
744 __le16 aux;
745 /* Followed in plink_confirm by status
746 * code, AID and supported rates,
747 * and directly by supported rates in
748 * plink_open and plink_close
749 */
750 u8 variable[0]; 746 u8 variable[0];
751 } __attribute__((packed)) plink_action; 747 } __attribute__((packed)) self_prot;
752 struct{ 748 struct{
753 u8 action_code; 749 u8 action_code;
754 u8 variable[0]; 750 u8 variable[0];
@@ -816,9 +812,11 @@ struct ieee80211_bar {
816} __attribute__((packed)); 812} __attribute__((packed));
817 813
818/* 802.11 BAR control masks */ 814/* 802.11 BAR control masks */
819#define IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL 0x0000 815#define IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL 0x0000
820#define IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA 0x0004 816#define IEEE80211_BAR_CTRL_MULTI_TID 0x0002
821 817#define IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA 0x0004
818#define IEEE80211_BAR_CTRL_TID_INFO_MASK 0xf000
819#define IEEE80211_BAR_CTRL_TID_INFO_SHIFT 12
822 820
823#define IEEE80211_HT_MCS_MASK_LEN 10 821#define IEEE80211_HT_MCS_MASK_LEN 10
824 822
@@ -1194,11 +1192,6 @@ enum ieee80211_eid {
1194 WLAN_EID_MESH_ID = 114, 1192 WLAN_EID_MESH_ID = 114,
1195 WLAN_EID_LINK_METRIC_REPORT = 115, 1193 WLAN_EID_LINK_METRIC_REPORT = 115,
1196 WLAN_EID_CONGESTION_NOTIFICATION = 116, 1194 WLAN_EID_CONGESTION_NOTIFICATION = 116,
1197 /* Note that the Peer Link IE has been replaced with the similar
1198 * Peer Management IE. We will keep the former definition until mesh
1199 * code is changed to comply with latest 802.11s drafts.
1200 */
1201 WLAN_EID_PEER_LINK = 55, /* no longer in 802.11s drafts */
1202 WLAN_EID_PEER_MGMT = 117, 1195 WLAN_EID_PEER_MGMT = 117,
1203 WLAN_EID_CHAN_SWITCH_PARAM = 118, 1196 WLAN_EID_CHAN_SWITCH_PARAM = 118,
1204 WLAN_EID_MESH_AWAKE_WINDOW = 119, 1197 WLAN_EID_MESH_AWAKE_WINDOW = 119,
@@ -1281,9 +1274,6 @@ enum ieee80211_category {
1281 WLAN_CATEGORY_MULTIHOP_ACTION = 14, 1274 WLAN_CATEGORY_MULTIHOP_ACTION = 14,
1282 WLAN_CATEGORY_SELF_PROTECTED = 15, 1275 WLAN_CATEGORY_SELF_PROTECTED = 15,
1283 WLAN_CATEGORY_WMM = 17, 1276 WLAN_CATEGORY_WMM = 17,
1284 /* TODO: remove MESH_PATH_SEL after mesh is updated
1285 * to current 802.11s draft */
1286 WLAN_CATEGORY_MESH_PATH_SEL = 32,
1287 WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, 1277 WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126,
1288 WLAN_CATEGORY_VENDOR_SPECIFIC = 127, 1278 WLAN_CATEGORY_VENDOR_SPECIFIC = 127,
1289}; 1279};
@@ -1309,6 +1299,31 @@ enum ieee80211_ht_actioncode {
1309 WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7, 1299 WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7,
1310}; 1300};
1311 1301
1302/* Self Protected Action codes */
1303enum ieee80211_self_protected_actioncode {
1304 WLAN_SP_RESERVED = 0,
1305 WLAN_SP_MESH_PEERING_OPEN = 1,
1306 WLAN_SP_MESH_PEERING_CONFIRM = 2,
1307 WLAN_SP_MESH_PEERING_CLOSE = 3,
1308 WLAN_SP_MGK_INFORM = 4,
1309 WLAN_SP_MGK_ACK = 5,
1310};
1311
1312/* Mesh action codes */
1313enum ieee80211_mesh_actioncode {
1314 WLAN_MESH_ACTION_LINK_METRIC_REPORT,
1315 WLAN_MESH_ACTION_HWMP_PATH_SELECTION,
1316 WLAN_MESH_ACTION_GATE_ANNOUNCEMENT,
1317 WLAN_MESH_ACTION_CONGESTION_CONTROL_NOTIFICATION,
1318 WLAN_MESH_ACTION_MCCA_SETUP_REQUEST,
1319 WLAN_MESH_ACTION_MCCA_SETUP_REPLY,
1320 WLAN_MESH_ACTION_MCCA_ADVERTISEMENT_REQUEST,
1321 WLAN_MESH_ACTION_MCCA_ADVERTISEMENT,
1322 WLAN_MESH_ACTION_MCCA_TEARDOWN,
1323 WLAN_MESH_ACTION_TBTT_ADJUSTMENT_REQUEST,
1324 WLAN_MESH_ACTION_TBTT_ADJUSTMENT_RESPONSE,
1325};
1326
1312/* Security key length */ 1327/* Security key length */
1313enum ieee80211_key_len { 1328enum ieee80211_key_len {
1314 WLAN_KEY_LEN_WEP40 = 5, 1329 WLAN_KEY_LEN_WEP40 = 5,
diff --git a/include/linux/nfc.h b/include/linux/nfc.h
index 330a4c5db58..c525e0b5876 100644
--- a/include/linux/nfc.h
+++ b/include/linux/nfc.h
@@ -123,4 +123,6 @@ struct sockaddr_nfc {
123#define NFC_SOCKPROTO_RAW 0 123#define NFC_SOCKPROTO_RAW 0
124#define NFC_SOCKPROTO_MAX 1 124#define NFC_SOCKPROTO_MAX 1
125 125
126#define NFC_HEADER_SIZE 1
127
126#endif /*__LINUX_NFC_H */ 128#endif /*__LINUX_NFC_H */
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 89dec16b469..0343504082a 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -1042,6 +1042,9 @@ enum nl80211_commands {
1042 * (Re)Association Response frames when the driver (or firmware) replies to 1042 * (Re)Association Response frames when the driver (or firmware) replies to
1043 * (Re)Association Request frames. 1043 * (Re)Association Request frames.
1044 * 1044 *
1045 * @NL80211_ATTR_STA_WME: Nested attribute containing the wme configuration
1046 * of the station, see &enum nl80211_sta_wme_attr.
1047 *
1045 * @NL80211_ATTR_MAX: highest attribute number currently defined 1048 * @NL80211_ATTR_MAX: highest attribute number currently defined
1046 * @__NL80211_ATTR_AFTER_LAST: internal use 1049 * @__NL80211_ATTR_AFTER_LAST: internal use
1047 */ 1050 */
@@ -1252,6 +1255,8 @@ enum nl80211_attrs {
1252 NL80211_ATTR_IE_PROBE_RESP, 1255 NL80211_ATTR_IE_PROBE_RESP,
1253 NL80211_ATTR_IE_ASSOC_RESP, 1256 NL80211_ATTR_IE_ASSOC_RESP,
1254 1257
1258 NL80211_ATTR_STA_WME,
1259
1255 /* add attributes here, update the policy in nl80211.c */ 1260 /* add attributes here, update the policy in nl80211.c */
1256 1261
1257 __NL80211_ATTR_AFTER_LAST, 1262 __NL80211_ATTR_AFTER_LAST,
@@ -1861,6 +1866,13 @@ enum nl80211_mntr_flags {
1861 * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a 1866 * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a
1862 * source mesh point for path selection elements. 1867 * source mesh point for path selection elements.
1863 * 1868 *
1869 * @NL80211_MESHCONF_HWMP_RANN_INTERVAL: The interval of time (in TUs) between
1870 * root announcements are transmitted.
1871 *
1872 * @NL80211_MESHCONF_GATE_ANNOUNCEMENTS: Advertise that this mesh station has
1873 * access to a broader network beyond the MBSS. This is done via Root
1874 * Announcement frames.
1875 *
1864 * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute 1876 * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute
1865 * 1877 *
1866 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use 1878 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
@@ -1882,6 +1894,8 @@ enum nl80211_meshconf_params {
1882 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME, 1894 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
1883 NL80211_MESHCONF_HWMP_ROOTMODE, 1895 NL80211_MESHCONF_HWMP_ROOTMODE,
1884 NL80211_MESHCONF_ELEMENT_TTL, 1896 NL80211_MESHCONF_ELEMENT_TTL,
1897 NL80211_MESHCONF_HWMP_RANN_INTERVAL,
1898 NL80211_MESHCONF_GATE_ANNOUNCEMENTS,
1885 1899
1886 /* keep last */ 1900 /* keep last */
1887 __NL80211_MESHCONF_ATTR_AFTER_LAST, 1901 __NL80211_MESHCONF_ATTR_AFTER_LAST,
@@ -2473,4 +2487,22 @@ enum nl80211_hidden_ssid {
2473 NL80211_HIDDEN_SSID_ZERO_CONTENTS 2487 NL80211_HIDDEN_SSID_ZERO_CONTENTS
2474}; 2488};
2475 2489
2490/**
2491 * enum nl80211_sta_wme_attr - station WME attributes
2492 * @__NL80211_STA_WME_INVALID: invalid number for nested attribute
2493 * @NL80211_STA_WME_QUEUES: bitmap of uapsd queues.
2494 * @NL80211_STA_WME_MAX_SP: max service period.
2495 * @__NL80211_STA_WME_AFTER_LAST: internal
2496 * @NL80211_STA_WME_MAX: highest station WME attribute
2497 */
2498enum nl80211_sta_wme_attr {
2499 __NL80211_STA_WME_INVALID,
2500 NL80211_STA_WME_UAPSD_QUEUES,
2501 NL80211_STA_WME_MAX_SP,
2502
2503 /* keep last */
2504 __NL80211_STA_WME_AFTER_LAST,
2505 NL80211_STA_WME_MAX = __NL80211_STA_WME_AFTER_LAST - 1
2506};
2507
2476#endif /* __LINUX_NL80211_H */ 2508#endif /* __LINUX_NL80211_H */
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index d86a15d87e5..88112ca59c8 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -452,6 +452,8 @@ struct station_parameters {
452 u8 plink_action; 452 u8 plink_action;
453 u8 plink_state; 453 u8 plink_state;
454 struct ieee80211_ht_cap *ht_capa; 454 struct ieee80211_ht_cap *ht_capa;
455 u8 uapsd_queues;
456 u8 max_sp;
455}; 457};
456 458
457/** 459/**
@@ -755,6 +757,12 @@ struct mesh_config {
755 u16 dot11MeshHWMPpreqMinInterval; 757 u16 dot11MeshHWMPpreqMinInterval;
756 u16 dot11MeshHWMPnetDiameterTraversalTime; 758 u16 dot11MeshHWMPnetDiameterTraversalTime;
757 u8 dot11MeshHWMPRootMode; 759 u8 dot11MeshHWMPRootMode;
760 u16 dot11MeshHWMPRannInterval;
761 /* This is missnamed in draft 12.0: dot11MeshGateAnnouncementProtocol
762 * set to true only means that the station will announce others it's a
763 * mesh gate, but not necessarily using the gate announcement protocol.
764 * Still keeping the same nomenclature to be in sync with the spec. */
765 bool dot11MeshGateAnnouncementProtocol;
758}; 766};
759 767
760/** 768/**
@@ -2291,7 +2299,7 @@ struct ieee802_11_elems {
2291 struct ieee80211_ht_info *ht_info_elem; 2299 struct ieee80211_ht_info *ht_info_elem;
2292 struct ieee80211_meshconf_ie *mesh_config; 2300 struct ieee80211_meshconf_ie *mesh_config;
2293 u8 *mesh_id; 2301 u8 *mesh_id;
2294 u8 *peer_link; 2302 u8 *peering;
2295 u8 *preq; 2303 u8 *preq;
2296 u8 *prep; 2304 u8 *prep;
2297 u8 *perr; 2305 u8 *perr;
@@ -2318,7 +2326,7 @@ struct ieee802_11_elems {
2318 u8 wmm_info_len; 2326 u8 wmm_info_len;
2319 u8 wmm_param_len; 2327 u8 wmm_param_len;
2320 u8 mesh_id_len; 2328 u8 mesh_id_len;
2321 u8 peer_link_len; 2329 u8 peering_len;
2322 u8 preq_len; 2330 u8 preq_len;
2323 u8 prep_len; 2331 u8 prep_len;
2324 u8 perr_len; 2332 u8 perr_len;
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 2f01d84ca52..2e752df5751 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -954,6 +954,8 @@ struct ieee80211_sta {
954 u16 aid; 954 u16 aid;
955 struct ieee80211_sta_ht_cap ht_cap; 955 struct ieee80211_sta_ht_cap ht_cap;
956 bool wme; 956 bool wme;
957 u8 uapsd_queues;
958 u8 max_sp;
957 959
958 /* must be last */ 960 /* must be last */
959 u8 drv_priv[0] __attribute__((__aligned__(sizeof(void *)))); 961 u8 drv_priv[0] __attribute__((__aligned__(sizeof(void *))));
diff --git a/include/net/nfc.h b/include/net/nfc.h
index cc0130312f7..87b51fe15b7 100644
--- a/include/net/nfc.h
+++ b/include/net/nfc.h
@@ -82,6 +82,9 @@ struct nfc_dev {
82 struct nfc_genl_data genl_data; 82 struct nfc_genl_data genl_data;
83 u32 supported_protocols; 83 u32 supported_protocols;
84 84
85 int tx_headroom;
86 int tx_tailroom;
87
85 struct nfc_ops *ops; 88 struct nfc_ops *ops;
86}; 89};
87#define to_nfc_dev(_dev) container_of(_dev, struct nfc_dev, dev) 90#define to_nfc_dev(_dev) container_of(_dev, struct nfc_dev, dev)
@@ -89,7 +92,9 @@ struct nfc_dev {
89extern struct class nfc_class; 92extern struct class nfc_class;
90 93
91struct nfc_dev *nfc_allocate_device(struct nfc_ops *ops, 94struct nfc_dev *nfc_allocate_device(struct nfc_ops *ops,
92 u32 supported_protocols); 95 u32 supported_protocols,
96 int tx_headroom,
97 int tx_tailroom);
93 98
94/** 99/**
95 * nfc_free_device - free nfc device 100 * nfc_free_device - free nfc device
diff --git a/include/net/regulatory.h b/include/net/regulatory.h
index 356d6e3dc20..eb7d3c2d427 100644
--- a/include/net/regulatory.h
+++ b/include/net/regulatory.h
@@ -3,11 +3,19 @@
3/* 3/*
4 * regulatory support structures 4 * regulatory support structures
5 * 5 *
6 * Copyright 2008-2009 Luis R. Rodriguez <lrodriguez@atheros.com> 6 * Copyright 2008-2009 Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
7 * 7 *
8 * This program is free software; you can redistribute it and/or modify 8 * Permission to use, copy, modify, and/or distribute this software for any
9 * it under the terms of the GNU General Public License version 2 as 9 * purpose with or without fee is hereby granted, provided that the above
10 * published by the Free Software Foundation. 10 * copyright notice and this permission notice appear in all copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11 */ 19 */
12 20
13 21