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);
|
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 = {
|
static const struct device_type bt_host = {
|
||||||
.name = "host",
|
.name = "host",
|
||||||
.release = bt_host_release,
|
.release = bt_host_release,
|
||||||
|
.groups = bt_host_groups,
|
||||||
};
|
};
|
||||||
|
|
||||||
void hci_init_sysfs(struct hci_dev *hdev)
|
void hci_init_sysfs(struct hci_dev *hdev)
|
||||||
|
|
Loading…
Add table
Reference in a new issue