aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/hci_uart.h
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@nokia.com>2010-07-12 10:37:04 -0400
committerMarcel Holtmann <marcel@holtmann.org>2010-07-21 13:39:11 -0400
commit63c7d09cd52fe23ad2baee26bcc10a590944cfa4 (patch)
tree0d9d12e077f2f9612c6736fad45a69fda4b182d5 /drivers/bluetooth/hci_uart.h
parent47731de789749c9ed3c54751db28fd9c9eeaf019 (diff)
Bluetooth: Add HCIUARTSETFLAGS and HCIUARTGETFLAGS ioctls
This patch introduces two new ioctls: HCIUARTSETFLAGS and HCIUARTGETFLAGS. The only flag available for now is HCI_UART_RAW_DEVICE which allows to initialize a UART device into RAW mode from userspace. This is particularly useful for experimenting with Bluetooth controllers that don't yet have proper support in BlueZ. Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth/hci_uart.h')
-rw-r--r--drivers/bluetooth/hci_uart.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/bluetooth/hci_uart.h b/drivers/bluetooth/hci_uart.h
index 50113db06b9f..9694d9d60905 100644
--- a/drivers/bluetooth/hci_uart.h
+++ b/drivers/bluetooth/hci_uart.h
@@ -31,6 +31,8 @@
31#define HCIUARTSETPROTO _IOW('U', 200, int) 31#define HCIUARTSETPROTO _IOW('U', 200, int)
32#define HCIUARTGETPROTO _IOR('U', 201, int) 32#define HCIUARTGETPROTO _IOR('U', 201, int)
33#define HCIUARTGETDEVICE _IOR('U', 202, int) 33#define HCIUARTGETDEVICE _IOR('U', 202, int)
34#define HCIUARTSETFLAGS _IOW('U', 203, int)
35#define HCIUARTGETFLAGS _IOR('U', 204, int)
34 36
35/* UART protocols */ 37/* UART protocols */
36#define HCI_UART_MAX_PROTO 5 38#define HCI_UART_MAX_PROTO 5
@@ -41,6 +43,8 @@
41#define HCI_UART_H4DS 3 43#define HCI_UART_H4DS 3
42#define HCI_UART_LL 4 44#define HCI_UART_LL 4
43 45
46#define HCI_UART_RAW_DEVICE 0
47
44struct hci_uart; 48struct hci_uart;
45 49
46struct hci_uart_proto { 50struct hci_uart_proto {
@@ -57,6 +61,7 @@ struct hci_uart {
57 struct tty_struct *tty; 61 struct tty_struct *tty;
58 struct hci_dev *hdev; 62 struct hci_dev *hdev;
59 unsigned long flags; 63 unsigned long flags;
64 unsigned long hdev_flags;
60 65
61 struct hci_uart_proto *proto; 66 struct hci_uart_proto *proto;
62 void *priv; 67 void *priv;
@@ -66,7 +71,7 @@ struct hci_uart {
66 spinlock_t rx_lock; 71 spinlock_t rx_lock;
67}; 72};
68 73
69/* HCI_UART flag bits */ 74/* HCI_UART proto flag bits */
70#define HCI_UART_PROTO_SET 0 75#define HCI_UART_PROTO_SET 0
71 76
72/* TX states */ 77/* TX states */