diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2015-03-30 16:21:02 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-03-30 17:20:53 -0400 |
commit | db6e3e8d016823c6b0f773c70a69ce65807d8a44 (patch) | |
tree | 89201941c7f39ed13d843de4c65ce8ab230e702e /include/net/bluetooth | |
parent | a4368ff3ed3b57e4b5e36d83b75604f68bbcdaad (diff) |
Bluetooth: Refactor HCI request variables into own struct
In order to shrink the size of bt_skb_cb, this patch moves the HCI
request related variables into their own req_ctrl struct. Additionall
the L2CAP and HCI request structs are placed inside the same union since
they will never be used at the same time for the same skb.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'include/net/bluetooth')
-rw-r--r-- | include/net/bluetooth/bluetooth.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index d8367cc7c76e..eeaff4b5cb62 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h | |||
@@ -278,16 +278,22 @@ struct hci_dev; | |||
278 | 278 | ||
279 | typedef void (*hci_req_complete_t)(struct hci_dev *hdev, u8 status, u16 opcode); | 279 | typedef void (*hci_req_complete_t)(struct hci_dev *hdev, u8 status, u16 opcode); |
280 | 280 | ||
281 | struct req_ctrl { | ||
282 | bool start; | ||
283 | u8 event; | ||
284 | hci_req_complete_t complete; | ||
285 | }; | ||
286 | |||
281 | struct bt_skb_cb { | 287 | struct bt_skb_cb { |
282 | __u8 pkt_type; | 288 | __u8 pkt_type; |
283 | __u8 force_active; | 289 | __u8 force_active; |
284 | __u16 opcode; | 290 | __u16 opcode; |
285 | __u16 expect; | 291 | __u16 expect; |
286 | __u8 incoming:1; | 292 | __u8 incoming:1; |
287 | __u8 req_start:1; | 293 | union { |
288 | u8 req_event; | 294 | struct l2cap_ctrl l2cap; |
289 | hci_req_complete_t req_complete; | 295 | struct req_ctrl req; |
290 | struct l2cap_ctrl l2cap; | 296 | }; |
291 | }; | 297 | }; |
292 | #define bt_cb(skb) ((struct bt_skb_cb *)((skb)->cb)) | 298 | #define bt_cb(skb) ((struct bt_skb_cb *)((skb)->cb)) |
293 | 299 | ||