diff options
author | David S. Miller <davem@nuts.davemloft.net> | 2005-01-09 19:33:51 -0800 |
---|---|---|
committer | David S. Miller <davem@nuts.davemloft.net> | 2005-01-09 19:33:51 -0800 |
commit | 1cdd77feddff837eac27aa725863d57027b5a487 (patch) | |
tree | 92671e0adb9d7cd887f7cf80cfa0182cc5697767 /drivers | |
parent | e05121130ef7ff0126364d6058637620823f03db (diff) | |
parent | 0d8b93d0a63d458c53deee8e656863494fc17898 (diff) | |
download | history-1cdd77feddff837eac27aa725863d57027b5a487.tar.gz |
Merge http://linux-mh.bkbits.net/bluetooth-2.6
into nuts.davemloft.net:/disk1/BK/net-2.6
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/bluetooth/bcm203x.c | 8 | ||||
-rw-r--r-- | drivers/bluetooth/bfusb.c | 8 | ||||
-rw-r--r-- | drivers/bluetooth/hci_bcsp.c | 4 | ||||
-rw-r--r-- | drivers/bluetooth/hci_ldisc.c | 13 | ||||
-rw-r--r-- | drivers/bluetooth/hci_usb.c | 13 |
5 files changed, 38 insertions, 8 deletions
diff --git a/drivers/bluetooth/bcm203x.c b/drivers/bluetooth/bcm203x.c index 924bf39a4d0665..5fd3e4cb7525a9 100644 --- a/drivers/bluetooth/bcm203x.c +++ b/drivers/bluetooth/bcm203x.c @@ -46,6 +46,8 @@ #define VERSION "1.0" +static int ignore = 0; + static struct usb_device_id bcm203x_table[] = { /* Broadcom Blutonium (BCM2033) */ { USB_DEVICE(0x0a5c, 0x2033) }, @@ -55,7 +57,6 @@ static struct usb_device_id bcm203x_table[] = { MODULE_DEVICE_TABLE(usb, bcm203x_table); - #define BCM203X_ERROR 0 #define BCM203X_RESET 1 #define BCM203X_LOAD_MINIDRV 2 @@ -175,7 +176,7 @@ static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id BT_DBG("intf %p id %p", intf, id); - if (intf->cur_altsetting->desc.bInterfaceNumber != 0) + if (ignore || (intf->cur_altsetting->desc.bInterfaceNumber != 0)) return -ENODEV; data = kmalloc(sizeof(*data), GFP_KERNEL); @@ -304,6 +305,9 @@ static void __exit bcm203x_exit(void) module_init(bcm203x_init); module_exit(bcm203x_exit); +module_param(ignore, bool, 0644); +MODULE_PARM_DESC(ignore, "Ignore devices from the matching table"); + MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>"); MODULE_DESCRIPTION("Broadcom Blutonium firmware driver ver " VERSION); MODULE_VERSION(VERSION); diff --git a/drivers/bluetooth/bfusb.c b/drivers/bluetooth/bfusb.c index 7803b91ee80846..47c344b9c7b524 100644 --- a/drivers/bluetooth/bfusb.c +++ b/drivers/bluetooth/bfusb.c @@ -47,6 +47,8 @@ #define VERSION "1.1" +static int ignore = 0; + static struct usb_driver bfusb_driver; static struct usb_device_id bfusb_table[] = { @@ -655,6 +657,9 @@ static int bfusb_probe(struct usb_interface *intf, const struct usb_device_id *i BT_DBG("intf %p id %p", intf, id); + if (ignore) + return -ENODEV; + /* Check number of endpoints */ if (intf->cur_altsetting->desc.bNumEndpoints < 2) return -EIO; @@ -792,6 +797,9 @@ static void __exit bfusb_exit(void) module_init(bfusb_init); module_exit(bfusb_exit); +module_param(ignore, bool, 0644); +MODULE_PARM_DESC(ignore, "Ignore devices from the matching table"); + MODULE_AUTHOR("Marcel Holtmann <marcel@holtmann.org>"); MODULE_DESCRIPTION("BlueFRITZ! USB driver ver " VERSION); MODULE_VERSION(VERSION); diff --git a/drivers/bluetooth/hci_bcsp.c b/drivers/bluetooth/hci_bcsp.c index 4d1f7ea9c63ed6..846cdffc4964d8 100644 --- a/drivers/bluetooth/hci_bcsp.c +++ b/drivers/bluetooth/hci_bcsp.c @@ -265,7 +265,7 @@ static struct sk_buff *bcsp_prepare_pkt(struct bcsp_struct *bcsp, u8 *data, /* This is a rewrite of pkt_avail in ABCSP */ static struct sk_buff *bcsp_dequeue(struct hci_uart *hu) { - struct bcsp_struct *bcsp = (struct bcsp_struct *) hu->priv; + struct bcsp_struct *bcsp = hu->priv; unsigned long flags; struct sk_buff *skb; @@ -629,7 +629,7 @@ static int bcsp_recv(struct hci_uart *hu, void *data, int count) static void bcsp_timed_event(unsigned long arg) { struct hci_uart *hu = (struct hci_uart *) arg; - struct bcsp_struct *bcsp = (struct bcsp_struct *) hu->priv; + struct bcsp_struct *bcsp = hu->priv; struct sk_buff *skb; unsigned long flags; diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c index dfb4142a551a3f..9075bbb56ad432 100644 --- a/drivers/bluetooth/hci_ldisc.c +++ b/drivers/bluetooth/hci_ldisc.c @@ -51,6 +51,7 @@ #include <net/bluetooth/bluetooth.h> #include <net/bluetooth/hci_core.h> + #include "hci_uart.h" #ifndef CONFIG_BT_HCIUART_DEBUG @@ -60,6 +61,8 @@ #define BT_DMP( A... ) #endif +static int reset = 0; + static struct hci_uart_proto *hup[HCI_UART_MAX_PROTO]; int hci_uart_register_proto(struct hci_uart_proto *p) @@ -412,7 +415,10 @@ static int hci_uart_register_dev(struct hci_uart *hu) hdev->destruct = hci_uart_destruct; hdev->owner = THIS_MODULE; - + + if (reset) + set_bit(HCI_QUIRK_RESET_ON_INIT, &hdev->quirks); + if (hci_register_dev(hdev) < 0) { BT_ERR("Can't register HCI device"); hci_free_dev(hdev); @@ -577,7 +583,10 @@ static void __exit hci_uart_exit(void) module_init(hci_uart_init); module_exit(hci_uart_exit); -MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>"); +module_param(reset, bool, 0644); +MODULE_PARM_DESC(reset, "Send HCI reset command on initialization"); + +MODULE_AUTHOR("Maxim Krasnyansky <maxk@qualcomm.com>, Marcel Holtmann <marcel@holtmann.org>"); MODULE_DESCRIPTION("Bluetooth HCI UART driver ver " VERSION); MODULE_VERSION(VERSION); MODULE_LICENSE("GPL"); diff --git a/drivers/bluetooth/hci_usb.c b/drivers/bluetooth/hci_usb.c index 88f9a89406d6bc..33608621d8ce2e 100644 --- a/drivers/bluetooth/hci_usb.c +++ b/drivers/bluetooth/hci_usb.c @@ -66,6 +66,9 @@ #define URB_ZERO_PACKET 0 #endif +static int ignore = 0; +static int reset = 0; + #ifdef CONFIG_BT_HCIUSB_SCO static int isoc = 2; #endif @@ -827,7 +830,7 @@ static int hci_usb_probe(struct usb_interface *intf, const struct usb_device_id id = match; } - if (id->driver_info & HCI_IGNORE) + if (ignore || id->driver_info & HCI_IGNORE) return -ENODEV; if (intf->cur_altsetting->desc.bInterfaceNumber > 0) @@ -963,7 +966,7 @@ static int hci_usb_probe(struct usb_interface *intf, const struct usb_device_id hdev->owner = THIS_MODULE; - if (id->driver_info & HCI_RESET) + if (reset || id->driver_info & HCI_RESET) set_bit(HCI_QUIRK_RESET_ON_INIT, &hdev->quirks); if (hci_register_dev(hdev) < 0) { @@ -1036,6 +1039,12 @@ static void __exit hci_usb_exit(void) module_init(hci_usb_init); module_exit(hci_usb_exit); +module_param(ignore, bool, 0644); +MODULE_PARM_DESC(ignore, "Ignore devices from the matching table"); + +module_param(reset, bool, 0644); +MODULE_PARM_DESC(reset, "Send HCI reset command on initialization"); + #ifdef CONFIG_BT_HCIUSB_SCO module_param(isoc, int, 0644); MODULE_PARM_DESC(isoc, "Set isochronous transfers for SCO over HCI support"); |