Loading include/net/bluetooth/hci_core.h +0 −3 Original line number Diff line number Diff line Loading @@ -301,9 +301,6 @@ struct hci_conn { struct timer_list idle_timer; struct timer_list auto_accept_timer; struct work_struct work_add; struct work_struct work_del; struct device dev; atomic_t devref; Loading net/bluetooth/hci_sysfs.c +27 −44 Original line number Diff line number Diff line Loading @@ -88,11 +88,35 @@ static struct device_type bt_link = { .release = bt_link_release, }; static void add_conn(struct work_struct *work) /* * The rfcomm tty device will possibly retain even when conn * is down, and sysfs doesn't support move zombie device, * so we should move the device before conn device is destroyed. */ static int __match_tty(struct device *dev, void *data) { return !strncmp(dev_name(dev), "rfcomm", 6); } void hci_conn_init_sysfs(struct hci_conn *conn) { struct hci_dev *hdev = conn->hdev; BT_DBG("conn %p", conn); conn->dev.type = &bt_link; conn->dev.class = bt_class; conn->dev.parent = &hdev->dev; device_initialize(&conn->dev); } void hci_conn_add_sysfs(struct hci_conn *conn) { struct hci_conn *conn = container_of(work, struct hci_conn, work_add); struct hci_dev *hdev = conn->hdev; BT_DBG("conn %p", conn); dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle); dev_set_drvdata(&conn->dev, conn); Loading @@ -105,19 +129,8 @@ static void add_conn(struct work_struct *work) hci_dev_hold(hdev); } /* * The rfcomm tty device will possibly retain even when conn * is down, and sysfs doesn't support move zombie device, * so we should move the device before conn device is destroyed. */ static int __match_tty(struct device *dev, void *data) { return !strncmp(dev_name(dev), "rfcomm", 6); } static void del_conn(struct work_struct *work) void hci_conn_del_sysfs(struct hci_conn *conn) { struct hci_conn *conn = container_of(work, struct hci_conn, work_del); struct hci_dev *hdev = conn->hdev; if (!device_is_registered(&conn->dev)) Loading @@ -139,36 +152,6 @@ static void del_conn(struct work_struct *work) hci_dev_put(hdev); } void hci_conn_init_sysfs(struct hci_conn *conn) { struct hci_dev *hdev = conn->hdev; BT_DBG("conn %p", conn); conn->dev.type = &bt_link; conn->dev.class = bt_class; conn->dev.parent = &hdev->dev; device_initialize(&conn->dev); INIT_WORK(&conn->work_add, add_conn); INIT_WORK(&conn->work_del, del_conn); } void hci_conn_add_sysfs(struct hci_conn *conn) { BT_DBG("conn %p", conn); queue_work(conn->hdev->workqueue, &conn->work_add); } void hci_conn_del_sysfs(struct hci_conn *conn) { BT_DBG("conn %p", conn); queue_work(conn->hdev->workqueue, &conn->work_del); } static inline char *host_bustostr(int bus) { switch (bus) { Loading Loading
include/net/bluetooth/hci_core.h +0 −3 Original line number Diff line number Diff line Loading @@ -301,9 +301,6 @@ struct hci_conn { struct timer_list idle_timer; struct timer_list auto_accept_timer; struct work_struct work_add; struct work_struct work_del; struct device dev; atomic_t devref; Loading
net/bluetooth/hci_sysfs.c +27 −44 Original line number Diff line number Diff line Loading @@ -88,11 +88,35 @@ static struct device_type bt_link = { .release = bt_link_release, }; static void add_conn(struct work_struct *work) /* * The rfcomm tty device will possibly retain even when conn * is down, and sysfs doesn't support move zombie device, * so we should move the device before conn device is destroyed. */ static int __match_tty(struct device *dev, void *data) { return !strncmp(dev_name(dev), "rfcomm", 6); } void hci_conn_init_sysfs(struct hci_conn *conn) { struct hci_dev *hdev = conn->hdev; BT_DBG("conn %p", conn); conn->dev.type = &bt_link; conn->dev.class = bt_class; conn->dev.parent = &hdev->dev; device_initialize(&conn->dev); } void hci_conn_add_sysfs(struct hci_conn *conn) { struct hci_conn *conn = container_of(work, struct hci_conn, work_add); struct hci_dev *hdev = conn->hdev; BT_DBG("conn %p", conn); dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle); dev_set_drvdata(&conn->dev, conn); Loading @@ -105,19 +129,8 @@ static void add_conn(struct work_struct *work) hci_dev_hold(hdev); } /* * The rfcomm tty device will possibly retain even when conn * is down, and sysfs doesn't support move zombie device, * so we should move the device before conn device is destroyed. */ static int __match_tty(struct device *dev, void *data) { return !strncmp(dev_name(dev), "rfcomm", 6); } static void del_conn(struct work_struct *work) void hci_conn_del_sysfs(struct hci_conn *conn) { struct hci_conn *conn = container_of(work, struct hci_conn, work_del); struct hci_dev *hdev = conn->hdev; if (!device_is_registered(&conn->dev)) Loading @@ -139,36 +152,6 @@ static void del_conn(struct work_struct *work) hci_dev_put(hdev); } void hci_conn_init_sysfs(struct hci_conn *conn) { struct hci_dev *hdev = conn->hdev; BT_DBG("conn %p", conn); conn->dev.type = &bt_link; conn->dev.class = bt_class; conn->dev.parent = &hdev->dev; device_initialize(&conn->dev); INIT_WORK(&conn->work_add, add_conn); INIT_WORK(&conn->work_del, del_conn); } void hci_conn_add_sysfs(struct hci_conn *conn) { BT_DBG("conn %p", conn); queue_work(conn->hdev->workqueue, &conn->work_add); } void hci_conn_del_sysfs(struct hci_conn *conn) { BT_DBG("conn %p", conn); queue_work(conn->hdev->workqueue, &conn->work_del); } static inline char *host_bustostr(int bus) { switch (bus) { Loading