diff options
author | John W. Linville <linville@tuxdriver.com> | 2013-01-30 14:21:04 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-01-30 14:21:04 -0500 |
commit | 0f496df2d9ba48faa808b5fa330de0da1a2d29d7 (patch) | |
tree | c1c85a625cff3f2ca6d95a5d5020a0157baa7521 /include/net | |
parent | 56e1bd770614da94f35e88c150cf9edf8d0b57a2 (diff) | |
parent | 9b008c0457e583e10e62d1215bed6ab26ee54906 (diff) |
Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/bluetooth/a2mp.h | 4 | ||||
-rw-r--r-- | include/net/bluetooth/bluetooth.h | 23 | ||||
-rw-r--r-- | include/net/bluetooth/hci.h | 18 | ||||
-rw-r--r-- | include/net/bluetooth/hci_core.h | 4 | ||||
-rw-r--r-- | include/net/bluetooth/l2cap.h | 1 |
5 files changed, 48 insertions, 2 deletions
diff --git a/include/net/bluetooth/a2mp.h b/include/net/bluetooth/a2mp.h index 42f21766c538..487b54c1308f 100644 --- a/include/net/bluetooth/a2mp.h +++ b/include/net/bluetooth/a2mp.h | |||
@@ -23,6 +23,7 @@ enum amp_mgr_state { | |||
23 | READ_LOC_AMP_INFO, | 23 | READ_LOC_AMP_INFO, |
24 | READ_LOC_AMP_ASSOC, | 24 | READ_LOC_AMP_ASSOC, |
25 | READ_LOC_AMP_ASSOC_FINAL, | 25 | READ_LOC_AMP_ASSOC_FINAL, |
26 | WRITE_REMOTE_AMP_ASSOC, | ||
26 | }; | 27 | }; |
27 | 28 | ||
28 | struct amp_mgr { | 29 | struct amp_mgr { |
@@ -33,7 +34,7 @@ struct amp_mgr { | |||
33 | struct kref kref; | 34 | struct kref kref; |
34 | __u8 ident; | 35 | __u8 ident; |
35 | __u8 handle; | 36 | __u8 handle; |
36 | enum amp_mgr_state state; | 37 | unsigned long state; |
37 | unsigned long flags; | 38 | unsigned long flags; |
38 | 39 | ||
39 | struct list_head amp_ctrls; | 40 | struct list_head amp_ctrls; |
@@ -144,5 +145,6 @@ void a2mp_discover_amp(struct l2cap_chan *chan); | |||
144 | void a2mp_send_getinfo_rsp(struct hci_dev *hdev); | 145 | void a2mp_send_getinfo_rsp(struct hci_dev *hdev); |
145 | void a2mp_send_getampassoc_rsp(struct hci_dev *hdev, u8 status); | 146 | void a2mp_send_getampassoc_rsp(struct hci_dev *hdev, u8 status); |
146 | void a2mp_send_create_phy_link_req(struct hci_dev *hdev, u8 status); | 147 | void a2mp_send_create_phy_link_req(struct hci_dev *hdev, u8 status); |
148 | void a2mp_send_create_phy_link_rsp(struct hci_dev *hdev, u8 status); | ||
147 | 149 | ||
148 | #endif /* __A2MP_H */ | 150 | #endif /* __A2MP_H */ |
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index 2554b3f5222a..9531beee09b5 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h | |||
@@ -166,6 +166,29 @@ typedef struct { | |||
166 | #define BDADDR_LE_PUBLIC 0x01 | 166 | #define BDADDR_LE_PUBLIC 0x01 |
167 | #define BDADDR_LE_RANDOM 0x02 | 167 | #define BDADDR_LE_RANDOM 0x02 |
168 | 168 | ||
169 | static inline bool bdaddr_type_is_valid(__u8 type) | ||
170 | { | ||
171 | switch (type) { | ||
172 | case BDADDR_BREDR: | ||
173 | case BDADDR_LE_PUBLIC: | ||
174 | case BDADDR_LE_RANDOM: | ||
175 | return true; | ||
176 | } | ||
177 | |||
178 | return false; | ||
179 | } | ||
180 | |||
181 | static inline bool bdaddr_type_is_le(__u8 type) | ||
182 | { | ||
183 | switch (type) { | ||
184 | case BDADDR_LE_PUBLIC: | ||
185 | case BDADDR_LE_RANDOM: | ||
186 | return true; | ||
187 | } | ||
188 | |||
189 | return false; | ||
190 | } | ||
191 | |||
169 | #define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0} }) | 192 | #define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0} }) |
170 | #define BDADDR_LOCAL (&(bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff} }) | 193 | #define BDADDR_LOCAL (&(bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff} }) |
171 | 194 | ||
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index 45eee08157bb..7f12c25f1fca 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h | |||
@@ -943,6 +943,12 @@ struct hci_rp_le_read_buffer_size { | |||
943 | __u8 le_max_pkt; | 943 | __u8 le_max_pkt; |
944 | } __packed; | 944 | } __packed; |
945 | 945 | ||
946 | #define HCI_OP_LE_READ_LOCAL_FEATURES 0x2003 | ||
947 | struct hci_rp_le_read_local_features { | ||
948 | __u8 status; | ||
949 | __u8 features[8]; | ||
950 | } __packed; | ||
951 | |||
946 | #define HCI_OP_LE_READ_ADV_TX_POWER 0x2007 | 952 | #define HCI_OP_LE_READ_ADV_TX_POWER 0x2007 |
947 | struct hci_rp_le_read_adv_tx_power { | 953 | struct hci_rp_le_read_adv_tx_power { |
948 | __u8 status; | 954 | __u8 status; |
@@ -995,6 +1001,12 @@ struct hci_cp_le_create_conn { | |||
995 | 1001 | ||
996 | #define HCI_OP_LE_CREATE_CONN_CANCEL 0x200e | 1002 | #define HCI_OP_LE_CREATE_CONN_CANCEL 0x200e |
997 | 1003 | ||
1004 | #define HCI_OP_LE_READ_WHITE_LIST_SIZE 0x200f | ||
1005 | struct hci_rp_le_read_white_list_size { | ||
1006 | __u8 status; | ||
1007 | __u8 size; | ||
1008 | } __packed; | ||
1009 | |||
998 | #define HCI_OP_LE_CONN_UPDATE 0x2013 | 1010 | #define HCI_OP_LE_CONN_UPDATE 0x2013 |
999 | struct hci_cp_le_conn_update { | 1011 | struct hci_cp_le_conn_update { |
1000 | __le16 handle; | 1012 | __le16 handle; |
@@ -1033,6 +1045,12 @@ struct hci_rp_le_ltk_neg_reply { | |||
1033 | __le16 handle; | 1045 | __le16 handle; |
1034 | } __packed; | 1046 | } __packed; |
1035 | 1047 | ||
1048 | #define HCI_OP_LE_READ_SUPPORTED_STATES 0x201c | ||
1049 | struct hci_rp_le_read_supported_states { | ||
1050 | __u8 status; | ||
1051 | __u8 le_states[8]; | ||
1052 | } __packed; | ||
1053 | |||
1036 | /* ---- HCI Events ---- */ | 1054 | /* ---- HCI Events ---- */ |
1037 | #define HCI_EV_INQUIRY_COMPLETE 0x01 | 1055 | #define HCI_EV_INQUIRY_COMPLETE 0x01 |
1038 | 1056 | ||
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index 014a2eaa5389..bcf8ffe2a843 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h | |||
@@ -152,6 +152,9 @@ struct hci_dev { | |||
152 | __u8 minor_class; | 152 | __u8 minor_class; |
153 | __u8 features[8]; | 153 | __u8 features[8]; |
154 | __u8 host_features[8]; | 154 | __u8 host_features[8]; |
155 | __u8 le_features[8]; | ||
156 | __u8 le_white_list_size; | ||
157 | __u8 le_states[8]; | ||
155 | __u8 commands[64]; | 158 | __u8 commands[64]; |
156 | __u8 hci_ver; | 159 | __u8 hci_ver; |
157 | __u16 hci_rev; | 160 | __u16 hci_rev; |
@@ -216,6 +219,7 @@ struct hci_dev { | |||
216 | unsigned long le_last_tx; | 219 | unsigned long le_last_tx; |
217 | 220 | ||
218 | struct workqueue_struct *workqueue; | 221 | struct workqueue_struct *workqueue; |
222 | struct workqueue_struct *req_workqueue; | ||
219 | 223 | ||
220 | struct work_struct power_on; | 224 | struct work_struct power_on; |
221 | struct delayed_work power_off; | 225 | struct delayed_work power_off; |
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index 7588ef44ebaf..cdd33021f831 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h | |||
@@ -496,7 +496,6 @@ struct l2cap_chan { | |||
496 | __u16 frames_sent; | 496 | __u16 frames_sent; |
497 | __u16 unacked_frames; | 497 | __u16 unacked_frames; |
498 | __u8 retry_count; | 498 | __u8 retry_count; |
499 | __u16 srej_queue_next; | ||
500 | __u16 sdu_len; | 499 | __u16 sdu_len; |
501 | struct sk_buff *sdu; | 500 | struct sk_buff *sdu; |
502 | struct sk_buff *sdu_last_frag; | 501 | struct sk_buff *sdu_last_frag; |