diff options
| author | Len Brown <len.brown@intel.com> | 2012-06-04 00:35:19 -0400 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2012-06-04 00:35:19 -0400 |
| commit | 7e1bd6e38b1f30860ce25a014c6d6adfb0079f4a (patch) | |
| tree | 65c5898ba93007d4399150c7a127a670bcfbc30d /include/net/bluetooth/bluetooth.h | |
| parent | 301f33fbcf4ced53b3de114846ecece5d6aafeeb (diff) | |
| parent | f8f5701bdaf9134b1f90e5044a82c66324d2073f (diff) | |
Merge branch 'upstream' into bugfix-video
Update bugfix-video branch to 2.5-rc1
so I don't have to again resolve the
conflict in these patches vs. upstream.
Conflicts:
drivers/gpu/drm/gma500/psb_drv.c
text conflict: add comment vs delete neighboring line
keep just this:
/* igd_opregion_init(&dev_priv->opregion_dev); */
/* acpi_video_register(); */
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/net/bluetooth/bluetooth.h')
| -rw-r--r-- | include/net/bluetooth/bluetooth.h | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h index a65910bda381..961669b648fd 100644 --- a/include/net/bluetooth/bluetooth.h +++ b/include/net/bluetooth/bluetooth.h | |||
| @@ -163,6 +163,11 @@ typedef struct { | |||
| 163 | __u8 b[6]; | 163 | __u8 b[6]; |
| 164 | } __packed bdaddr_t; | 164 | } __packed bdaddr_t; |
| 165 | 165 | ||
| 166 | /* BD Address type */ | ||
| 167 | #define BDADDR_BREDR 0x00 | ||
| 168 | #define BDADDR_LE_PUBLIC 0x01 | ||
| 169 | #define BDADDR_LE_RANDOM 0x02 | ||
| 170 | |||
| 166 | #define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}}) | 171 | #define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}}) |
| 167 | #define BDADDR_LOCAL (&(bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff}}) | 172 | #define BDADDR_LOCAL (&(bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff}}) |
| 168 | 173 | ||
| @@ -178,7 +183,6 @@ static inline void bacpy(bdaddr_t *dst, bdaddr_t *src) | |||
| 178 | 183 | ||
| 179 | void baswap(bdaddr_t *dst, bdaddr_t *src); | 184 | void baswap(bdaddr_t *dst, bdaddr_t *src); |
| 180 | char *batostr(bdaddr_t *ba); | 185 | char *batostr(bdaddr_t *ba); |
| 181 | bdaddr_t *strtoba(char *str); | ||
| 182 | 186 | ||
| 183 | /* Common socket structures and functions */ | 187 | /* Common socket structures and functions */ |
| 184 | 188 | ||
| @@ -190,8 +194,12 @@ struct bt_sock { | |||
| 190 | bdaddr_t dst; | 194 | bdaddr_t dst; |
| 191 | struct list_head accept_q; | 195 | struct list_head accept_q; |
| 192 | struct sock *parent; | 196 | struct sock *parent; |
| 193 | u32 defer_setup; | 197 | unsigned long flags; |
| 194 | bool suspended; | 198 | }; |
| 199 | |||
| 200 | enum { | ||
| 201 | BT_SK_DEFER_SETUP, | ||
| 202 | BT_SK_SUSPEND, | ||
| 195 | }; | 203 | }; |
| 196 | 204 | ||
| 197 | struct bt_sock_list { | 205 | struct bt_sock_list { |
| @@ -216,14 +224,24 @@ void bt_accept_unlink(struct sock *sk); | |||
| 216 | struct sock *bt_accept_dequeue(struct sock *parent, struct socket *newsock); | 224 | struct sock *bt_accept_dequeue(struct sock *parent, struct socket *newsock); |
| 217 | 225 | ||
| 218 | /* Skb helpers */ | 226 | /* Skb helpers */ |
| 227 | struct l2cap_ctrl { | ||
| 228 | unsigned int sframe : 1, | ||
| 229 | poll : 1, | ||
| 230 | final : 1, | ||
| 231 | fcs : 1, | ||
| 232 | sar : 2, | ||
| 233 | super : 2; | ||
| 234 | __u16 reqseq; | ||
| 235 | __u16 txseq; | ||
| 236 | __u8 retries; | ||
| 237 | }; | ||
| 238 | |||
| 219 | struct bt_skb_cb { | 239 | struct bt_skb_cb { |
| 220 | __u8 pkt_type; | 240 | __u8 pkt_type; |
| 221 | __u8 incoming; | 241 | __u8 incoming; |
| 222 | __u16 expect; | 242 | __u16 expect; |
| 223 | __u16 tx_seq; | ||
| 224 | __u8 retries; | ||
| 225 | __u8 sar; | ||
| 226 | __u8 force_active; | 243 | __u8 force_active; |
| 244 | struct l2cap_ctrl control; | ||
| 227 | }; | 245 | }; |
| 228 | #define bt_cb(skb) ((struct bt_skb_cb *)((skb)->cb)) | 246 | #define bt_cb(skb) ((struct bt_skb_cb *)((skb)->cb)) |
| 229 | 247 | ||
| @@ -243,12 +261,10 @@ static inline struct sk_buff *bt_skb_send_alloc(struct sock *sk, | |||
| 243 | { | 261 | { |
| 244 | struct sk_buff *skb; | 262 | struct sk_buff *skb; |
| 245 | 263 | ||
| 246 | release_sock(sk); | ||
| 247 | if ((skb = sock_alloc_send_skb(sk, len + BT_SKB_RESERVE, nb, err))) { | 264 | if ((skb = sock_alloc_send_skb(sk, len + BT_SKB_RESERVE, nb, err))) { |
| 248 | skb_reserve(skb, BT_SKB_RESERVE); | 265 | skb_reserve(skb, BT_SKB_RESERVE); |
| 249 | bt_cb(skb)->incoming = 0; | 266 | bt_cb(skb)->incoming = 0; |
| 250 | } | 267 | } |
| 251 | lock_sock(sk); | ||
| 252 | 268 | ||
| 253 | if (!skb && *err) | 269 | if (!skb && *err) |
| 254 | return NULL; | 270 | return NULL; |
