mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-21 06:50:25 +00:00
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: Hsin-chen Chuang <chharry@chromium.org> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
parent
f07d478090
commit
0f8a001374
1 changed files with 19 additions and 0 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue