Merge remote branch 'origin/master'
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / staging / ti-st / bt_drv.h
1 /*
2 * Texas Instrument's Bluetooth Driver For Shared Transport.
3 *
4 * Bluetooth Driver acts as interface between HCI CORE and
5 * TI Shared Transport Layer.
6 *
7 * Copyright (C) 2009 Texas Instruments
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 *
22 */
23
24 #ifndef _BT_DRV_H
25 #define _BT_DRV_H
26
27 /* Bluetooth Driver Version */
28 #define VERSION "1.0"
29
30 /* Defines number of seconds to wait for reg completion
31 * callback getting called from ST (in case,registration
32 * with ST returns PENDING status)
33 */
34 #define BT_REGISTER_TIMEOUT msecs_to_jiffies(6000) /* 6 sec */
35
36 /* BT driver's local status */
37 #define BT_DRV_RUNNING 0
38 #define BT_ST_REGISTERED 1
39
40 /* BT driver operation structure */
41 struct hci_st {
42
43 /* hci device pointer which binds to bt driver */
44 struct hci_dev *hdev;
45
46 /* used locally,to maintain various BT driver status */
47 unsigned long flags;
48
49 /* to hold ST registration callback status */
50 char streg_cbdata;
51
52 /* write function pointer of ST driver */
53 long (*st_write) (struct sk_buff *);
54
55 /* Wait on comepletion handler needed to synchronize
56 * hci_st_open() and hci_st_registration_completion_cb()
57 * functions.*/
58 struct completion wait_for_btdrv_reg_completion;
59 };
60
61 #endif