diff options
-rw-r--r-- | net/bluetooth/hci_core.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index c130a239c0de..d47c8ec90ca0 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c | |||
@@ -385,6 +385,34 @@ static const struct file_operations static_address_fops = { | |||
385 | .release = single_release, | 385 | .release = single_release, |
386 | }; | 386 | }; |
387 | 387 | ||
388 | static int own_address_type_set(void *data, u64 val) | ||
389 | { | ||
390 | struct hci_dev *hdev = data; | ||
391 | |||
392 | if (val != 0 && val != 1) | ||
393 | return -EINVAL; | ||
394 | |||
395 | hci_dev_lock(hdev); | ||
396 | hdev->own_addr_type = val; | ||
397 | hci_dev_unlock(hdev); | ||
398 | |||
399 | return 0; | ||
400 | } | ||
401 | |||
402 | static int own_address_type_get(void *data, u64 *val) | ||
403 | { | ||
404 | struct hci_dev *hdev = data; | ||
405 | |||
406 | hci_dev_lock(hdev); | ||
407 | *val = hdev->own_addr_type; | ||
408 | hci_dev_unlock(hdev); | ||
409 | |||
410 | return 0; | ||
411 | } | ||
412 | |||
413 | DEFINE_SIMPLE_ATTRIBUTE(own_address_type_fops, own_address_type_get, | ||
414 | own_address_type_set, "%llu\n"); | ||
415 | |||
388 | static int long_term_keys_show(struct seq_file *f, void *ptr) | 416 | static int long_term_keys_show(struct seq_file *f, void *ptr) |
389 | { | 417 | { |
390 | struct hci_dev *hdev = f->private; | 418 | struct hci_dev *hdev = f->private; |
@@ -1162,6 +1190,8 @@ static int __hci_init(struct hci_dev *hdev) | |||
1162 | &hdev->le_white_list_size); | 1190 | &hdev->le_white_list_size); |
1163 | debugfs_create_file("static_address", 0444, hdev->debugfs, | 1191 | debugfs_create_file("static_address", 0444, hdev->debugfs, |
1164 | hdev, &static_address_fops); | 1192 | hdev, &static_address_fops); |
1193 | debugfs_create_file("own_address_type", 0644, hdev->debugfs, | ||
1194 | hdev, &own_address_type_fops); | ||
1165 | debugfs_create_file("long_term_keys", 0400, hdev->debugfs, | 1195 | debugfs_create_file("long_term_keys", 0400, hdev->debugfs, |
1166 | hdev, &long_term_keys_fops); | 1196 | hdev, &long_term_keys_fops); |
1167 | } | 1197 | } |