upload tizen1.0 source
[kernel/linux-2.6.36.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