Info messages now prefixed with "Bluetooth:".
int bcsp_init(void)
{
- return hci_uart_register_proto(&bcsp);
+ int err = hci_uart_register_proto(&bcsp);
+ if (!err)
+ BT_INFO("HCI BCSP protocol initialized");
+ else
+ BT_ERR("HCI BCSP protocol registration failed");
+
+ return err;
}
int bcsp_deinit(void)
int h4_init(void)
{
- return hci_uart_register_proto(&h4p);
+ int err = hci_uart_register_proto(&h4p);
+ if (!err)
+ BT_INFO("HCI H4 protocol initialized");
+ else
+ BT_ERR("HCI H4 protocol registration failed");
+
+ return err;
}
int h4_deinit(void)
static struct tty_ldisc hci_uart_ldisc;
int err;
- BT_INFO("Bluetooth HCI UART driver ver %s Copyright (C) 2000,2001 Qualcomm Inc",
- VERSION);
- BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
+ BT_INFO("HCI UART driver ver %s", VERSION);
/* Register the tty discipline */
hci_uart_ldisc.write_wakeup= hci_uart_tty_wakeup;
if ((err = tty_register_ldisc(N_HCI, &hci_uart_ldisc))) {
- BT_ERR("Can't register HCI line discipline (%d)", err);
+ BT_ERR("HCI line discipline registration failed. (%d)", err);
return err;
}
{
int err;
- BT_INFO("Bluetooth HCI USB driver ver %s Copyright (C) 2000,2001 Qualcomm Inc",
- VERSION);
- BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
+ BT_INFO("HCI USB driver ver %s", VERSION);
if ((err = usb_register(&hci_usb_driver)) < 0)
BT_ERR("Failed to register HCI USB driver");
int __init hci_vhci_init(void)
{
- BT_INFO("Bluetooth VHCI driver ver %s Copyright (C) 2000,2001 Qualcomm Inc",
- VERSION);
- BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
+ BT_INFO("VHCI driver ver %s", VERSION);
if (misc_register(&hci_vhci_miscdev)) {
BT_ERR("Can't register misc device %d\n", VHCI_MINOR);
#define SOL_SCO 17
#define SOL_RFCOMM 18
-#define BT_INFO(fmt, arg...) printk(KERN_INFO fmt "\n" , ## arg)
+#define BT_INFO(fmt, arg...) printk(KERN_INFO "Bluetooth: " fmt "\n" , ## arg)
#define BT_DBG(fmt, arg...) printk(KERN_INFO "%s: " fmt "\n" , __FUNCTION__ , ## arg)
#define BT_ERR(fmt, arg...) printk(KERN_ERR "%s: " fmt "\n" , __FUNCTION__ , ## arg)
static int __init bt_init(void)
{
- BT_INFO("Bluetooth Core ver %s Copyright (C) 2000,2001 Qualcomm Inc",
- VERSION);
- BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
+ BT_INFO("Core ver %s", VERSION);
proc_mkdir("bluetooth", NULL);
SLAB_HWCACHE_ALIGN, 0, 0);
if (!bt_sock_cache) {
- BT_ERR("Bluetooth socket cache creation failed");
+ BT_ERR("Socket cache creation failed");
return -ENOMEM;
}
sock_register(&bt_sock_family_ops);
+ BT_INFO("HCI device and connection manager initialized");
+
hci_sock_init();
return 0;
}
}
static int __init bnep_init_module(void)
-{
- bnep_sock_init();
+{
+ char flt[50] = "";
- BT_INFO("Bluetooth BNEP ver %s", VERSION);
- BT_INFO("Copyright (C) 2001,2002 Inventel Systemes");
- BT_INFO("Written 2001,2002 by Clement Moreau <clement.moreau@inventel.fr>");
- BT_INFO("Written 2001,2002 by David Libault <david.libault@inventel.fr>");
- BT_INFO("Copyright (C) 2002 Maxim Krasnyanskiy <maxk@qualcomm.com>");
+#ifdef CONFIG_BT_BNEP_PROTO_FILTER
+ strcat(flt, "protocol ");
+#endif
+#ifdef CONFIG_BT_BNEP_MC_FILTER
+ strcat(flt, "multicast");
+#endif
+
+ BT_INFO("BNEP (Ethernet Emulation) ver %s", VERSION);
+ if (flt[0])
+ BT_INFO("BNEP filters: %s", flt);
+
+ bnep_sock_init();
return 0;
}
int hci_sock_init(void)
{
if (bt_sock_register(BTPROTO_HCI, &hci_sock_family_ops)) {
- BT_ERR("Can't register HCI socket");
+ BT_ERR("HCI socket registration failed");
return -EPROTO;
}
hci_register_notifier(&hci_sock_nblock);
+
+ BT_INFO("HCI socket layer initialized");
+
return 0;
}
int hci_sock_cleanup(void)
{
if (bt_sock_unregister(BTPROTO_HCI))
- BT_ERR("Can't unregister HCI socket");
+ BT_ERR("HCI socket unregistration failed");
hci_unregister_notifier(&hci_sock_nblock);
return 0;
int err;
if ((err = bt_sock_register(BTPROTO_L2CAP, &l2cap_sock_family_ops))) {
- BT_ERR("Can't register L2CAP socket");
+ BT_ERR("L2CAP socket registration failed");
return err;
}
if ((err = hci_register_proto(&l2cap_hci_proto))) {
- BT_ERR("Can't register L2CAP protocol");
+ BT_ERR("L2CAP protocol registration failed");
return err;
}
create_proc_read_entry("bluetooth/l2cap", 0, 0, l2cap_read_proc, NULL);
- BT_INFO("Bluetooth L2CAP ver %s Copyright (C) 2000,2001 Qualcomm Inc", VERSION);
- BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
+ BT_INFO("L2CAP ver %s", VERSION);
+ BT_INFO("L2CAP socket layer initialized");
+
return 0;
}
/* Unregister socket and protocol */
if (bt_sock_unregister(BTPROTO_L2CAP))
- BT_ERR("Can't unregister L2CAP socket");
+ BT_ERR("L2CAP socket unregistration failed");
if (hci_unregister_proto(&l2cap_hci_proto))
- BT_ERR("Can't unregister L2CAP protocol");
+ BT_ERR("L2CAP protocol unregistration failed");
}
module_init(l2cap_init);
{
kernel_thread(rfcomm_run, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND);
+ BT_INFO("RFCOMM ver %s", VERSION);
+
rfcomm_init_sockets();
#ifdef CONFIG_BT_RFCOMM_TTY
create_proc_read_entry("bluetooth/rfcomm", 0, 0, rfcomm_read_proc, NULL);
- BT_INFO("Bluetooth RFCOMM ver %s", VERSION);
- BT_INFO("Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com>");
- BT_INFO("Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org>");
return 0;
}
int err;
if ((err = bt_sock_register(BTPROTO_RFCOMM, &rfcomm_sock_family_ops))) {
- BT_ERR("Can't register RFCOMM socket layer");
+ BT_ERR("RFCOMM socket layer registration failed. %d", err);
return err;
}
+ BT_INFO("RFCOMM socket layer initialized");
return 0;
}
/* Unregister socket, protocol and notifier */
if ((err = bt_sock_unregister(BTPROTO_RFCOMM)))
- BT_ERR("Can't unregister RFCOMM socket layer %d", err);
+ BT_ERR("RFCOMM socket layer unregistration failed. %d", err);
}
BT_DBG("dlc %p dev %p v24_sig 0x%02x", dlc, dev, v24_sig);
dev->modem_status =
- (v24_sig & RFCOMM_V24_RTC) ? (TIOCM_DSR | TIOCM_DTR) : 0 |
- (v24_sig & RFCOMM_V24_RTR) ? (TIOCM_RTS | TIOCM_CTS) : 0 |
- (v24_sig & RFCOMM_V24_IC) ? TIOCM_RI : 0 |
- (v24_sig & RFCOMM_V24_DV) ? TIOCM_CD : 0;
+ ((v24_sig & RFCOMM_V24_RTC) ? (TIOCM_DSR | TIOCM_DTR) : 0) |
+ ((v24_sig & RFCOMM_V24_RTR) ? (TIOCM_RTS | TIOCM_CTS) : 0) |
+ ((v24_sig & RFCOMM_V24_IC) ? TIOCM_RI : 0) |
+ ((v24_sig & RFCOMM_V24_DV) ? TIOCM_CD : 0);
}
/* ---- TTY functions ---- */
if (dlc->state == BT_CONNECTED)
break;
+ if (signal_pending(current)) {
+ err = -EINTR;
+ break;
+ }
+
schedule();
}
set_current_state(TASK_RUNNING);
return -1;
}
+ BT_INFO("RFCOMM TTY layer initialized");
+
return 0;
}
int err;
if ((err = bt_sock_register(BTPROTO_SCO, &sco_sock_family_ops))) {
- BT_ERR("Can't register SCO socket layer");
+ BT_ERR("SCO socket registration failed");
return err;
}
if ((err = hci_register_proto(&sco_hci_proto))) {
- BT_ERR("Can't register SCO protocol");
+ BT_ERR("SCO protocol registration failed");
return err;
}
create_proc_read_entry("bluetooth/sco", 0, 0, sco_read_proc, NULL);
- BT_INFO("Bluetooth SCO ver %s Copyright (C) 2000,2001 Qualcomm Inc", VERSION);
- BT_INFO("Written 2000,2001 by Maxim Krasnyansky <maxk@qualcomm.com>");
+ BT_INFO("SCO (Voice Link) ver %s", VERSION);
+ BT_INFO("SCO socket layer initialized");
+
return 0;
}
/* Unregister socket, protocol and notifier */
if ((err = bt_sock_unregister(BTPROTO_SCO)))
- BT_ERR("Can't unregister SCO socket layer %d", err);
+ BT_ERR("SCO socket unregistration failed. %d", err);
if ((err = hci_unregister_proto(&sco_hci_proto)))
- BT_ERR("Can't unregister SCO protocol %d", err);
+ BT_ERR("SCO protocol unregistration failed. %d", err);
}
module_init(sco_init);