Lines Matching refs:hdev
36 struct hci_dev *hdev = file->private_data; \
39 buf[0] = test_bit(__quirk, &hdev->quirks) ? 'Y' : 'N'; \
49 struct hci_dev *hdev = file->private_data; \
53 if (test_bit(HCI_UP, &hdev->flags)) \
60 if (enable == test_bit(__quirk, &hdev->quirks)) \
63 change_bit(__quirk, &hdev->quirks); \
78 struct hci_dev *hdev = f->private; \
80 hci_dev_lock(hdev); \
81 seq_printf(f, "%s\n", hdev->__field ? : ""); \
82 hci_dev_unlock(hdev); \
91 struct hci_dev *hdev = f->private; in features_show() local
94 hci_dev_lock(hdev); in features_show()
95 for (p = 0; p < HCI_MAX_PAGES && p <= hdev->max_page; p++) in features_show()
96 seq_printf(f, "%2u: %8ph\n", p, hdev->features[p]); in features_show()
97 if (lmp_le_capable(hdev)) in features_show()
98 seq_printf(f, "LE: %8ph\n", hdev->le_features); in features_show()
99 hci_dev_unlock(hdev); in features_show()
108 struct hci_dev *hdev = f->private; in device_id_show() local
110 hci_dev_lock(hdev); in device_id_show()
111 seq_printf(f, "%4.4x:%4.4x:%4.4x:%4.4x\n", hdev->devid_source, in device_id_show()
112 hdev->devid_vendor, hdev->devid_product, hdev->devid_version); in device_id_show()
113 hci_dev_unlock(hdev); in device_id_show()
122 struct hci_dev *hdev = f->private; in device_list_show() local
126 hci_dev_lock(hdev); in device_list_show()
127 list_for_each_entry(b, &hdev->whitelist, list) in device_list_show()
129 list_for_each_entry(p, &hdev->le_conn_params, list) { in device_list_show()
133 hci_dev_unlock(hdev); in device_list_show()
142 struct hci_dev *hdev = f->private; in blacklist_show() local
145 hci_dev_lock(hdev); in blacklist_show()
146 list_for_each_entry(b, &hdev->blacklist, list) in blacklist_show()
148 hci_dev_unlock(hdev); in blacklist_show()
157 struct hci_dev *hdev = f->private; in uuids_show() local
160 hci_dev_lock(hdev); in uuids_show()
161 list_for_each_entry(uuid, &hdev->uuids, list) { in uuids_show()
173 hci_dev_unlock(hdev); in uuids_show()
182 struct hci_dev *hdev = f->private; in remote_oob_show() local
185 hci_dev_lock(hdev); in remote_oob_show()
186 list_for_each_entry(data, &hdev->remote_oob_data, list) { in remote_oob_show()
192 hci_dev_unlock(hdev); in remote_oob_show()
201 struct hci_dev *hdev = data; in conn_info_min_age_set() local
203 if (val == 0 || val > hdev->conn_info_max_age) in conn_info_min_age_set()
206 hci_dev_lock(hdev); in conn_info_min_age_set()
207 hdev->conn_info_min_age = val; in conn_info_min_age_set()
208 hci_dev_unlock(hdev); in conn_info_min_age_set()
215 struct hci_dev *hdev = data; in conn_info_min_age_get() local
217 hci_dev_lock(hdev); in conn_info_min_age_get()
218 *val = hdev->conn_info_min_age; in conn_info_min_age_get()
219 hci_dev_unlock(hdev); in conn_info_min_age_get()
229 struct hci_dev *hdev = data; in conn_info_max_age_set() local
231 if (val == 0 || val < hdev->conn_info_min_age) in conn_info_max_age_set()
234 hci_dev_lock(hdev); in conn_info_max_age_set()
235 hdev->conn_info_max_age = val; in conn_info_max_age_set()
236 hci_dev_unlock(hdev); in conn_info_max_age_set()
243 struct hci_dev *hdev = data; in conn_info_max_age_get() local
245 hci_dev_lock(hdev); in conn_info_max_age_get()
246 *val = hdev->conn_info_max_age; in conn_info_max_age_get()
247 hci_dev_unlock(hdev); in conn_info_max_age_get()
258 struct hci_dev *hdev = file->private_data; in use_debug_keys_read() local
261 buf[0] = hci_dev_test_flag(hdev, HCI_USE_DEBUG_KEYS) ? 'Y': 'N'; in use_debug_keys_read()
276 struct hci_dev *hdev = file->private_data; in sc_only_mode_read() local
279 buf[0] = hci_dev_test_flag(hdev, HCI_SC_ONLY) ? 'Y': 'N'; in sc_only_mode_read()
294 void hci_debugfs_create_common(struct hci_dev *hdev) in hci_debugfs_create_common() argument
296 debugfs_create_file("features", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common()
298 debugfs_create_u16("manufacturer", 0444, hdev->debugfs, in hci_debugfs_create_common()
299 &hdev->manufacturer); in hci_debugfs_create_common()
300 debugfs_create_u8("hci_version", 0444, hdev->debugfs, &hdev->hci_ver); in hci_debugfs_create_common()
301 debugfs_create_u16("hci_revision", 0444, hdev->debugfs, &hdev->hci_rev); in hci_debugfs_create_common()
302 debugfs_create_u8("hardware_error", 0444, hdev->debugfs, in hci_debugfs_create_common()
303 &hdev->hw_error_code); in hci_debugfs_create_common()
304 debugfs_create_file("device_id", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common()
307 debugfs_create_file("device_list", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common()
309 debugfs_create_file("blacklist", 0444, hdev->debugfs, hdev, in hci_debugfs_create_common()
311 debugfs_create_file("uuids", 0444, hdev->debugfs, hdev, &uuids_fops); in hci_debugfs_create_common()
312 debugfs_create_file("remote_oob", 0400, hdev->debugfs, hdev, in hci_debugfs_create_common()
315 debugfs_create_file("conn_info_min_age", 0644, hdev->debugfs, hdev, in hci_debugfs_create_common()
317 debugfs_create_file("conn_info_max_age", 0644, hdev->debugfs, hdev, in hci_debugfs_create_common()
320 if (lmp_ssp_capable(hdev) || lmp_le_capable(hdev)) in hci_debugfs_create_common()
321 debugfs_create_file("use_debug_keys", 0444, hdev->debugfs, in hci_debugfs_create_common()
322 hdev, &use_debug_keys_fops); in hci_debugfs_create_common()
324 if (lmp_sc_capable(hdev) || lmp_le_capable(hdev)) in hci_debugfs_create_common()
325 debugfs_create_file("sc_only_mode", 0444, hdev->debugfs, in hci_debugfs_create_common()
326 hdev, &sc_only_mode_fops); in hci_debugfs_create_common()
328 if (hdev->hw_info) in hci_debugfs_create_common()
329 debugfs_create_file("hardware_info", 0444, hdev->debugfs, in hci_debugfs_create_common()
330 hdev, &hardware_info_fops); in hci_debugfs_create_common()
332 if (hdev->fw_info) in hci_debugfs_create_common()
333 debugfs_create_file("firmware_info", 0444, hdev->debugfs, in hci_debugfs_create_common()
334 hdev, &firmware_info_fops); in hci_debugfs_create_common()
339 struct hci_dev *hdev = f->private; in inquiry_cache_show() local
340 struct discovery_state *cache = &hdev->discovery; in inquiry_cache_show()
343 hci_dev_lock(hdev); in inquiry_cache_show()
356 hci_dev_unlock(hdev); in inquiry_cache_show()
365 struct hci_dev *hdev = f->private; in link_keys_show() local
369 list_for_each_entry_rcu(key, &hdev->link_keys, list) in link_keys_show()
381 struct hci_dev *hdev = f->private; in dev_class_show() local
383 hci_dev_lock(hdev); in dev_class_show()
384 seq_printf(f, "0x%.2x%.2x%.2x\n", hdev->dev_class[2], in dev_class_show()
385 hdev->dev_class[1], hdev->dev_class[0]); in dev_class_show()
386 hci_dev_unlock(hdev); in dev_class_show()
395 struct hci_dev *hdev = data; in voice_setting_get() local
397 hci_dev_lock(hdev); in voice_setting_get()
398 *val = hdev->voice_setting; in voice_setting_get()
399 hci_dev_unlock(hdev); in voice_setting_get()
410 struct hci_dev *hdev = file->private_data; in ssp_debug_mode_read() local
413 buf[0] = hdev->ssp_debug_mode ? 'Y': 'N'; in ssp_debug_mode_read()
427 struct hci_dev *hdev = data; in auto_accept_delay_set() local
429 hci_dev_lock(hdev); in auto_accept_delay_set()
430 hdev->auto_accept_delay = val; in auto_accept_delay_set()
431 hci_dev_unlock(hdev); in auto_accept_delay_set()
438 struct hci_dev *hdev = data; in auto_accept_delay_get() local
440 hci_dev_lock(hdev); in auto_accept_delay_get()
441 *val = hdev->auto_accept_delay; in auto_accept_delay_get()
442 hci_dev_unlock(hdev); in auto_accept_delay_get()
452 struct hci_dev *hdev = data; in idle_timeout_set() local
457 hci_dev_lock(hdev); in idle_timeout_set()
458 hdev->idle_timeout = val; in idle_timeout_set()
459 hci_dev_unlock(hdev); in idle_timeout_set()
466 struct hci_dev *hdev = data; in idle_timeout_get() local
468 hci_dev_lock(hdev); in idle_timeout_get()
469 *val = hdev->idle_timeout; in idle_timeout_get()
470 hci_dev_unlock(hdev); in idle_timeout_get()
480 struct hci_dev *hdev = data; in sniff_min_interval_set() local
482 if (val == 0 || val % 2 || val > hdev->sniff_max_interval) in sniff_min_interval_set()
485 hci_dev_lock(hdev); in sniff_min_interval_set()
486 hdev->sniff_min_interval = val; in sniff_min_interval_set()
487 hci_dev_unlock(hdev); in sniff_min_interval_set()
494 struct hci_dev *hdev = data; in sniff_min_interval_get() local
496 hci_dev_lock(hdev); in sniff_min_interval_get()
497 *val = hdev->sniff_min_interval; in sniff_min_interval_get()
498 hci_dev_unlock(hdev); in sniff_min_interval_get()
508 struct hci_dev *hdev = data; in sniff_max_interval_set() local
510 if (val == 0 || val % 2 || val < hdev->sniff_min_interval) in sniff_max_interval_set()
513 hci_dev_lock(hdev); in sniff_max_interval_set()
514 hdev->sniff_max_interval = val; in sniff_max_interval_set()
515 hci_dev_unlock(hdev); in sniff_max_interval_set()
522 struct hci_dev *hdev = data; in sniff_max_interval_get() local
524 hci_dev_lock(hdev); in sniff_max_interval_get()
525 *val = hdev->sniff_max_interval; in sniff_max_interval_get()
526 hci_dev_unlock(hdev); in sniff_max_interval_get()
534 void hci_debugfs_create_bredr(struct hci_dev *hdev) in hci_debugfs_create_bredr() argument
536 debugfs_create_file("inquiry_cache", 0444, hdev->debugfs, hdev, in hci_debugfs_create_bredr()
538 debugfs_create_file("link_keys", 0400, hdev->debugfs, hdev, in hci_debugfs_create_bredr()
540 debugfs_create_file("dev_class", 0444, hdev->debugfs, hdev, in hci_debugfs_create_bredr()
542 debugfs_create_file("voice_setting", 0444, hdev->debugfs, hdev, in hci_debugfs_create_bredr()
545 if (lmp_ssp_capable(hdev)) { in hci_debugfs_create_bredr()
546 debugfs_create_file("ssp_debug_mode", 0444, hdev->debugfs, in hci_debugfs_create_bredr()
547 hdev, &ssp_debug_mode_fops); in hci_debugfs_create_bredr()
548 debugfs_create_file("auto_accept_delay", 0644, hdev->debugfs, in hci_debugfs_create_bredr()
549 hdev, &auto_accept_delay_fops); in hci_debugfs_create_bredr()
552 if (lmp_sniff_capable(hdev)) { in hci_debugfs_create_bredr()
553 debugfs_create_file("idle_timeout", 0644, hdev->debugfs, in hci_debugfs_create_bredr()
554 hdev, &idle_timeout_fops); in hci_debugfs_create_bredr()
555 debugfs_create_file("sniff_min_interval", 0644, hdev->debugfs, in hci_debugfs_create_bredr()
556 hdev, &sniff_min_interval_fops); in hci_debugfs_create_bredr()
557 debugfs_create_file("sniff_max_interval", 0644, hdev->debugfs, in hci_debugfs_create_bredr()
558 hdev, &sniff_max_interval_fops); in hci_debugfs_create_bredr()
564 struct hci_dev *hdev = f->private; in identity_show() local
568 hci_dev_lock(hdev); in identity_show()
570 hci_copy_identity_address(hdev, &addr, &addr_type); in identity_show()
573 16, hdev->irk, &hdev->rpa); in identity_show()
575 hci_dev_unlock(hdev); in identity_show()
584 struct hci_dev *hdev = data; in rpa_timeout_set() local
592 hci_dev_lock(hdev); in rpa_timeout_set()
593 hdev->rpa_timeout = val; in rpa_timeout_set()
594 hci_dev_unlock(hdev); in rpa_timeout_set()
601 struct hci_dev *hdev = data; in rpa_timeout_get() local
603 hci_dev_lock(hdev); in rpa_timeout_get()
604 *val = hdev->rpa_timeout; in rpa_timeout_get()
605 hci_dev_unlock(hdev); in rpa_timeout_get()
615 struct hci_dev *hdev = f->private; in random_address_show() local
617 hci_dev_lock(hdev); in random_address_show()
618 seq_printf(f, "%pMR\n", &hdev->random_addr); in random_address_show()
619 hci_dev_unlock(hdev); in random_address_show()
628 struct hci_dev *hdev = f->private; in static_address_show() local
630 hci_dev_lock(hdev); in static_address_show()
631 seq_printf(f, "%pMR\n", &hdev->static_addr); in static_address_show()
632 hci_dev_unlock(hdev); in static_address_show()
643 struct hci_dev *hdev = file->private_data; in force_static_address_read() local
646 buf[0] = hci_dev_test_flag(hdev, HCI_FORCE_STATIC_ADDR) ? 'Y': 'N'; in force_static_address_read()
656 struct hci_dev *hdev = file->private_data; in force_static_address_write() local
660 if (test_bit(HCI_UP, &hdev->flags)) in force_static_address_write()
667 if (enable == hci_dev_test_flag(hdev, HCI_FORCE_STATIC_ADDR)) in force_static_address_write()
670 hci_dev_change_flag(hdev, HCI_FORCE_STATIC_ADDR); in force_static_address_write()
684 struct hci_dev *hdev = f->private; in white_list_show() local
687 hci_dev_lock(hdev); in white_list_show()
688 list_for_each_entry(b, &hdev->le_white_list, list) in white_list_show()
690 hci_dev_unlock(hdev); in white_list_show()
699 struct hci_dev *hdev = f->private; in resolv_list_show() local
702 hci_dev_lock(hdev); in resolv_list_show()
703 list_for_each_entry(b, &hdev->le_resolv_list, list) in resolv_list_show()
705 hci_dev_unlock(hdev); in resolv_list_show()
714 struct hci_dev *hdev = f->private; in identity_resolving_keys_show() local
718 list_for_each_entry_rcu(irk, &hdev->identity_resolving_keys, list) { in identity_resolving_keys_show()
732 struct hci_dev *hdev = f->private; in long_term_keys_show() local
736 list_for_each_entry_rcu(ltk, &hdev->long_term_keys, list) in long_term_keys_show()
750 struct hci_dev *hdev = data; in conn_min_interval_set() local
752 if (val < 0x0006 || val > 0x0c80 || val > hdev->le_conn_max_interval) in conn_min_interval_set()
755 hci_dev_lock(hdev); in conn_min_interval_set()
756 hdev->le_conn_min_interval = val; in conn_min_interval_set()
757 hci_dev_unlock(hdev); in conn_min_interval_set()
764 struct hci_dev *hdev = data; in conn_min_interval_get() local
766 hci_dev_lock(hdev); in conn_min_interval_get()
767 *val = hdev->le_conn_min_interval; in conn_min_interval_get()
768 hci_dev_unlock(hdev); in conn_min_interval_get()
778 struct hci_dev *hdev = data; in conn_max_interval_set() local
780 if (val < 0x0006 || val > 0x0c80 || val < hdev->le_conn_min_interval) in conn_max_interval_set()
783 hci_dev_lock(hdev); in conn_max_interval_set()
784 hdev->le_conn_max_interval = val; in conn_max_interval_set()
785 hci_dev_unlock(hdev); in conn_max_interval_set()
792 struct hci_dev *hdev = data; in conn_max_interval_get() local
794 hci_dev_lock(hdev); in conn_max_interval_get()
795 *val = hdev->le_conn_max_interval; in conn_max_interval_get()
796 hci_dev_unlock(hdev); in conn_max_interval_get()
806 struct hci_dev *hdev = data; in conn_latency_set() local
811 hci_dev_lock(hdev); in conn_latency_set()
812 hdev->le_conn_latency = val; in conn_latency_set()
813 hci_dev_unlock(hdev); in conn_latency_set()
820 struct hci_dev *hdev = data; in conn_latency_get() local
822 hci_dev_lock(hdev); in conn_latency_get()
823 *val = hdev->le_conn_latency; in conn_latency_get()
824 hci_dev_unlock(hdev); in conn_latency_get()
834 struct hci_dev *hdev = data; in supervision_timeout_set() local
839 hci_dev_lock(hdev); in supervision_timeout_set()
840 hdev->le_supv_timeout = val; in supervision_timeout_set()
841 hci_dev_unlock(hdev); in supervision_timeout_set()
848 struct hci_dev *hdev = data; in supervision_timeout_get() local
850 hci_dev_lock(hdev); in supervision_timeout_get()
851 *val = hdev->le_supv_timeout; in supervision_timeout_get()
852 hci_dev_unlock(hdev); in supervision_timeout_get()
862 struct hci_dev *hdev = data; in adv_channel_map_set() local
867 hci_dev_lock(hdev); in adv_channel_map_set()
868 hdev->le_adv_channel_map = val; in adv_channel_map_set()
869 hci_dev_unlock(hdev); in adv_channel_map_set()
876 struct hci_dev *hdev = data; in adv_channel_map_get() local
878 hci_dev_lock(hdev); in adv_channel_map_get()
879 *val = hdev->le_adv_channel_map; in adv_channel_map_get()
880 hci_dev_unlock(hdev); in adv_channel_map_get()
890 struct hci_dev *hdev = data; in adv_min_interval_set() local
892 if (val < 0x0020 || val > 0x4000 || val > hdev->le_adv_max_interval) in adv_min_interval_set()
895 hci_dev_lock(hdev); in adv_min_interval_set()
896 hdev->le_adv_min_interval = val; in adv_min_interval_set()
897 hci_dev_unlock(hdev); in adv_min_interval_set()
904 struct hci_dev *hdev = data; in adv_min_interval_get() local
906 hci_dev_lock(hdev); in adv_min_interval_get()
907 *val = hdev->le_adv_min_interval; in adv_min_interval_get()
908 hci_dev_unlock(hdev); in adv_min_interval_get()
918 struct hci_dev *hdev = data; in adv_max_interval_set() local
920 if (val < 0x0020 || val > 0x4000 || val < hdev->le_adv_min_interval) in adv_max_interval_set()
923 hci_dev_lock(hdev); in adv_max_interval_set()
924 hdev->le_adv_max_interval = val; in adv_max_interval_set()
925 hci_dev_unlock(hdev); in adv_max_interval_set()
932 struct hci_dev *hdev = data; in adv_max_interval_get() local
934 hci_dev_lock(hdev); in adv_max_interval_get()
935 *val = hdev->le_adv_max_interval; in adv_max_interval_get()
936 hci_dev_unlock(hdev); in adv_max_interval_get()
949 void hci_debugfs_create_le(struct hci_dev *hdev) in hci_debugfs_create_le() argument
951 debugfs_create_file("identity", 0400, hdev->debugfs, hdev, in hci_debugfs_create_le()
953 debugfs_create_file("rpa_timeout", 0644, hdev->debugfs, hdev, in hci_debugfs_create_le()
955 debugfs_create_file("random_address", 0444, hdev->debugfs, hdev, in hci_debugfs_create_le()
957 debugfs_create_file("static_address", 0444, hdev->debugfs, hdev, in hci_debugfs_create_le()
964 if (bacmp(&hdev->bdaddr, BDADDR_ANY)) in hci_debugfs_create_le()
966 hdev->debugfs, hdev, in hci_debugfs_create_le()
969 debugfs_create_u8("white_list_size", 0444, hdev->debugfs, in hci_debugfs_create_le()
970 &hdev->le_white_list_size); in hci_debugfs_create_le()
971 debugfs_create_file("white_list", 0444, hdev->debugfs, hdev, in hci_debugfs_create_le()
973 debugfs_create_u8("resolv_list_size", 0444, hdev->debugfs, in hci_debugfs_create_le()
974 &hdev->le_resolv_list_size); in hci_debugfs_create_le()
975 debugfs_create_file("resolv_list", 0444, hdev->debugfs, hdev, in hci_debugfs_create_le()
977 debugfs_create_file("identity_resolving_keys", 0400, hdev->debugfs, in hci_debugfs_create_le()
978 hdev, &identity_resolving_keys_fops); in hci_debugfs_create_le()
979 debugfs_create_file("long_term_keys", 0400, hdev->debugfs, hdev, in hci_debugfs_create_le()
981 debugfs_create_file("conn_min_interval", 0644, hdev->debugfs, hdev, in hci_debugfs_create_le()
983 debugfs_create_file("conn_max_interval", 0644, hdev->debugfs, hdev, in hci_debugfs_create_le()
985 debugfs_create_file("conn_latency", 0644, hdev->debugfs, hdev, in hci_debugfs_create_le()
987 debugfs_create_file("supervision_timeout", 0644, hdev->debugfs, hdev, in hci_debugfs_create_le()
989 debugfs_create_file("adv_channel_map", 0644, hdev->debugfs, hdev, in hci_debugfs_create_le()
991 debugfs_create_file("adv_min_interval", 0644, hdev->debugfs, hdev, in hci_debugfs_create_le()
993 debugfs_create_file("adv_max_interval", 0644, hdev->debugfs, hdev, in hci_debugfs_create_le()
995 debugfs_create_u16("discov_interleaved_timeout", 0644, hdev->debugfs, in hci_debugfs_create_le()
996 &hdev->discov_interleaved_timeout); in hci_debugfs_create_le()
999 hdev->debugfs, hdev, in hci_debugfs_create_le()
1002 hdev->debugfs, hdev, in hci_debugfs_create_le()
1008 struct hci_dev *hdev = conn->hdev; in hci_debugfs_create_conn() local
1011 if (IS_ERR_OR_NULL(hdev->debugfs)) in hci_debugfs_create_conn()
1015 conn->debugfs = debugfs_create_dir(name, hdev->debugfs); in hci_debugfs_create_conn()