Commit 0f8a0013 authored by Hsin-chen Chuang's avatar Hsin-chen Chuang Committed by Luiz Augusto von Dentz
Browse files

Bluetooth: Allow reset via sysfs



Allow sysfs to trigger hdev reset. This is required to recover devices
that are not responsive from userspace.

Signed-off-by: default avatarHsin-chen Chuang <chharry@chromium.org>
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent f07d4780
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -90,9 +90,28 @@ static void bt_host_release(struct device *dev)
	module_put(THIS_MODULE);
}

static ssize_t reset_store(struct device *dev, struct device_attribute *attr,
			   const char *buf, size_t count)
{
	struct hci_dev *hdev = to_hci_dev(dev);

	if (hdev->reset)
		hdev->reset(hdev);

	return count;
}
static DEVICE_ATTR_WO(reset);

static struct attribute *bt_host_attrs[] = {
	&dev_attr_reset.attr,
	NULL,
};
ATTRIBUTE_GROUPS(bt_host);

static const struct device_type bt_host = {
	.name    = "host",
	.release = bt_host_release,
	.groups = bt_host_groups,
};

void hci_init_sysfs(struct hci_dev *hdev)