| /linux/drivers/hid/amd-sfh-hid/hid_descriptor/ |
| H A D | amd_sfh_hid_report_desc.h | 3 * HID descriptor stuructures 17 0xA1, 0x00, /* HID Collection (Physical) */ 20 0x85, 1, /* HID Report ID */ 21 0x05, 0x20, /* HID usage page sensor */ 23 0x15, 0, /* HID logical MIN_8(0) */ 24 0x25, 2, /* HID logical MAX_8(2) */ 25 0x75, 8, /* HID report size(8) */ 26 0x95, 1, /* HID report count(1) */ 27 0xA1, 0x02, /* HID collection (logical) */ 31 0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ [all …]
|
| /linux/drivers/hid/intel-ish-hid/ |
| H A D | ishtp-hid.c | 3 * ISHTP-HID glue driver. 8 #include <linux/hid.h> 11 #include "ishtp-hid.h" 14 * ishtp_hid_parse() - hid-core .parse() callback 15 * @hid: hid device instance 21 static int ishtp_hid_parse(struct hid_device *hid) in ishtp_hid_parse() argument 23 struct ishtp_hid_data *hid_data = hid->driver_data; in ishtp_hid_parse() 27 rv = hid_parse_report(hid, client_data->report_descr[hid_data->index], in ishtp_hid_parse() 36 static int ishtp_hid_start(struct hid_device *hid) in ishtp_hid_start() argument 41 static void ishtp_hid_stop(struct hid_device *hid) in ishtp_hid_stop() argument [all …]
|
| /linux/drivers/hid/intel-thc-hid/intel-quicki2c/ |
| H A D | quicki2c-hid.c | 4 #include <linux/hid.h> 9 #include "quicki2c-hid.h" 13 * quicki2c_hid_parse() - HID core parse() callback 15 * @hid: HID device instance 21 static int quicki2c_hid_parse(struct hid_device *hid) in quicki2c_hid_parse() argument 23 struct quicki2c_device *qcdev = hid->driver_data; in quicki2c_hid_parse() 26 return hid_parse_report(hid, qcdev->report_descriptor, in quicki2c_hid_parse() 33 static int quicki2c_hid_start(struct hid_device *hid) in quicki2c_hid_start() argument 38 static void quicki2c_hid_stop(struct hid_device *hid) in quicki2c_hid_stop() argument 42 static int quicki2c_hid_open(struct hid_device *hid) in quicki2c_hid_open() argument [all …]
|
| /linux/drivers/hid/intel-thc-hid/intel-quickspi/ |
| H A D | quickspi-hid.c | 4 #include <linux/hid.h> 9 #include "quickspi-hid.h" 12 * quickspi_hid_parse() - HID core parse() callback 14 * @hid: HID device instance 20 static int quickspi_hid_parse(struct hid_device *hid) in quickspi_hid_parse() argument 22 struct quickspi_device *qsdev = hid->driver_data; in quickspi_hid_parse() 25 return hid_parse_report(hid, qsdev->report_descriptor, in quickspi_hid_parse() 32 static int quickspi_hid_start(struct hid_device *hid) in quickspi_hid_start() argument 37 static void quickspi_hid_stop(struct hid_device *hid) in quickspi_hid_stop() argument 41 static int quickspi_hid_open(struct hid_device *hid) in quickspi_hid_open() argument [all …]
|
| /linux/drivers/hid/usbhid/ |
| H A D | hid-core.c | 3 * USB HID support for Linux 34 #include <linux/hid.h> 36 #include <linux/hid-debug.h> 39 #include "hid-pidff.h" 45 #define DRIVER_DESC "USB HID core driver" 70 MODULE_PARM_DESC(quirks, "Add/modify USB HID quirks by specifying " 77 static void hid_io_error(struct hid_device *hid); 78 static int hid_submit_out(struct hid_device *hid); 79 static int hid_submit_ctrl(struct hid_device *hid); 83 static int hid_start_in(struct hid_device *hid) in hid_start_in() 82 hid_start_in(struct hid_device * hid) hid_start_in() argument 110 struct hid_device *hid = usbhid->hid; hid_retry_timeout() local 122 struct hid_device *hid = usbhid->hid; hid_reset() local 145 hid_io_error(struct hid_device * hid) hid_io_error() argument 194 struct hid_device *hid = usb_get_intfdata(usbhid->intf); usbhid_restart_out_queue() local 232 struct hid_device *hid = usb_get_intfdata(usbhid->intf); usbhid_restart_ctrl_queue() local 275 struct hid_device *hid = urb->context; hid_irq_in() local 337 hid_submit_out(struct hid_device * hid) hid_submit_out() argument 367 hid_submit_ctrl(struct hid_device * hid) hid_submit_ctrl() argument 429 struct hid_device *hid = urb->context; hid_irq_out() local 477 struct hid_device *hid = urb->context; hid_ctrl() local 524 __usbhid_submit_report(struct hid_device * hid,struct hid_report * report,unsigned char dir) __usbhid_submit_report() argument 633 usbhid_submit_report(struct hid_device * hid,struct hid_report * report,unsigned char dir) usbhid_submit_report() argument 643 usbhid_wait_io(struct hid_device * hid) usbhid_wait_io() argument 681 usbhid_open(struct hid_device * hid) usbhid_open() argument 740 usbhid_close(struct hid_device * hid) usbhid_close() argument 770 usbhid_init_reports(struct hid_device * hid) usbhid_init_reports() argument 803 hid_find_field_early(struct hid_device * hid,unsigned int page,unsigned int hid_code,struct hid_field ** pfield) hid_find_field_early() argument 827 usbhid_set_leds(struct hid_device * hid) usbhid_set_leds() argument 841 hid_find_max_report(struct hid_device * hid,unsigned int type,unsigned int * max) hid_find_max_report() argument 854 hid_alloc_buffers(struct usb_device * dev,struct hid_device * hid) hid_alloc_buffers() argument 872 usbhid_get_raw_report(struct hid_device * hid,unsigned char report_number,__u8 * buf,size_t count,unsigned char report_type) usbhid_get_raw_report() argument 906 usbhid_set_raw_report(struct hid_device * hid,unsigned int reportnum,__u8 * buf,size_t count,unsigned char rtype) usbhid_set_raw_report() argument 942 usbhid_output_report(struct hid_device * hid,__u8 * buf,size_t count) usbhid_output_report() argument 972 hid_free_buffers(struct usb_device * dev,struct hid_device * hid) hid_free_buffers() argument 982 usbhid_parse(struct hid_device * hid) usbhid_parse() argument 1081 usbhid_start(struct hid_device * hid) usbhid_start() argument 1228 usbhid_stop(struct hid_device * hid) usbhid_stop() argument 1277 usbhid_power(struct hid_device * hid,int lvl) usbhid_power() argument 1295 usbhid_request(struct hid_device * hid,struct hid_report * rep,int reqtype) usbhid_request() argument 1307 usbhid_raw_request(struct hid_device * hid,unsigned char reportnum,__u8 * buf,size_t len,unsigned char rtype,int reqtype) usbhid_raw_request() argument 1321 usbhid_idle(struct hid_device * hid,int report,int idle,int reqtype) usbhid_idle() argument 1335 usbhid_may_wakeup(struct hid_device * hid) usbhid_may_wakeup() argument 1369 struct hid_device *hid; usbhid_probe() local 1466 struct hid_device *hid = usb_get_intfdata(intf); usbhid_disconnect() local 1494 hid_restart_io(struct hid_device * hid) hid_restart_io() argument 1528 struct hid_device *hid = usb_get_intfdata(intf); hid_pre_reset() local 1543 struct hid_device *hid = usb_get_intfdata(intf); hid_post_reset() local 1585 hid_resume_common(struct hid_device * hid,bool driver_suspended) hid_resume_common() argument 1597 struct hid_device *hid = usb_get_intfdata(intf); hid_suspend() local 1654 struct hid_device *hid = usb_get_intfdata (intf); hid_resume() local 1664 struct hid_device *hid = usb_get_intfdata(intf); hid_reset_resume() local [all...] |
| H A D | hiddev.c | 6 * HID char devices, giving access to raw HID device events. 22 #include <linux/hid.h> 56 hiddev_lookup_report(struct hid_device *hid, struct hiddev_report_info *rinfo) in hiddev_lookup_report() argument 68 report_enum = hid->report_enum + in hiddev_lookup_report() 109 hiddev_lookup_usage(struct hid_device *hid, struct hiddev_usage_ref *uref) in hiddev_lookup_usage() argument 120 report_enum = hid->report_enum + in hiddev_lookup_usage() 127 if (field->usage[j].hid == uref->usage_code) { in hiddev_lookup_usage() 140 static void hiddev_send_event(struct hid_device *hid, in hiddev_send_event() argument 143 struct hiddev *hiddev = hid->hiddev; in hiddev_send_event() 163 * This is where hid.c calls into hiddev to pass an event that occurred over [all …]
|
| /linux/Documentation/hid/ |
| H A D | hid-transport.rst | 2 HID I/O Transport Drivers 5 The HID subsystem is independent of the underlying transport driver. Initially, 6 only USB was supported, but other specifications adopted the HID design and 10 1) HID Bus 13 The HID subsystem is designed as a bus. Any I/O subsystem may provide HID 14 devices and register them with the HID bus. HID core then loads generic device 16 transport and device setup/management. HID core is responsible for 36 | HID Core | 50 - Transport: USB-HID, I2C-HID, BT-HIDP 52 Everything below "HID Core" is simplified in this graph as it is only of [all …]
|
| H A D | hidintro.rst | 4 Introduction to HID report descriptors 7 This chapter is meant to give a broad overview of what HID report 9 with HID devices that are not working well with Linux. 24 HID stands for Human Interface Device, and can be whatever device you 28 Many HID devices work out the box, even if their hardware is different. 35 This is because modern HID devices do advertise their capabilities 36 through the *HID report descriptor*, a fixed set of bytes describing 37 exactly what *HID reports* may be sent between the device and the host 39 a HID Report Descriptor may specify that "in a report with ID 3 the 42 The HID report itself then merely carries the actual data values [all …]
|
| H A D | amd-sfh-hid.rst | 7 The solution is working well on several OEM products. AMD SFH uses HID over PCIe bus. 9 the HID reports are generated as part of the kernel driver. 17 | HID User Space Applications | 22 | HID Core | 26 | AMD HID Transport | 30 | AMD HID Client | 31 | with HID Report Generator| 45 AMD HID Transport Layer 49 sensor data. The layer, which binds each device (AMD SFH HID driver) identifies the device type and 50 registers with the HID core. Transport layer attaches a constant "struct hid_ll_driver" object with [all …]
|
| H A D | hid-bpf.rst | 4 HID-BPF 7 HID is a standard protocol for input devices but some devices may require 10 existing HID interfaces. 17 When (and why) to use HID-BPF 20 There are several use cases when using HID-BPF is better 30 With HID-BPF, we can apply this filtering in the kernel directly so userspace 38 HID-BPF allows the userspace program to load the program itself, ensuring we 44 In the HID tree, half of the drivers only fix one key or one byte 61 channels of communication that our HID and input stack do not support. 70 The kernel has a relatively static mapping of HID items to evdev bits. [all …]
|
| /linux/drivers/hid/amd-sfh-hid/ |
| H A D | amd_sfh_hid.c | 10 #include <linux/hid.h> 20 * amdtp_hid_parse() - hid-core .parse() callback 21 * @hid: hid device instance 27 static int amdtp_hid_parse(struct hid_device *hid) in amdtp_hid_parse() argument 29 struct amdtp_hid_data *hid_data = hid->driver_data; in amdtp_hid_parse() 32 return hid_parse_report(hid, cli_data->report_descr[hid_data->index], in amdtp_hid_parse() 37 static int amdtp_hid_start(struct hid_device *hid) in amdtp_hid_start() argument 42 static void amdtp_hid_stop(struct hid_device *hid) in amdtp_hid_stop() argument 46 static int amdtp_hid_open(struct hid_device *hid) in amdtp_hid_open() argument 51 static void amdtp_hid_close(struct hid_device *hid) in amdtp_hid_close() argument [all …]
|
| /linux/drivers/staging/greybus/ |
| H A D | hid.c | 3 * HID class driver for the Greybus. 10 #include <linux/hid.h> 17 /* Greybus HID device's structure */ 22 struct hid_device *hid; member 146 hid_input_report(ghid->hid, HID_INPUT_REPORT, in gb_hid_request_handler() 158 static void gb_hid_find_max_report(struct hid_device *hid, unsigned int type, in gb_hid_find_max_report() argument 164 list_for_each_entry(report, &hid->report_enum[type].report_list, list) { in gb_hid_find_max_report() 200 * hid->driver_lock is held as we are in probe function, in gb_hid_init_report() 204 hid_report_raw_event(ghid->hid, report->type, ghid->inbuf, ghid->bufsize, size, 1); in gb_hid_init_report() 209 struct hid_device *hid = ghid->hid; in gb_hid_init_reports() local [all …]
|
| /linux/sound/soc/sdca/ |
| H A D | sdca_hid.c | 13 #include <linux/hid.h> 24 static int sdwhid_parse(struct hid_device *hid) in sdwhid_parse() 26 struct sdca_entity *entity = hid->driver_data; in sdwhid_parse() 33 dev_err(&hid->dev, "invalid size of report descriptor (%u)\n", rsize); in sdwhid_parse() 37 ret = hid_parse_report(hid, entity->hide.hid_report_desc, rsize); in sdwhid_parse() 42 dev_err(&hid->dev, "parsing report descriptor failed\n"); 46 static int sdwhid_start(struct hid_device *hid) in sdwhid_start() 51 static void sdwhid_stop(struct hid_device *hid) 55 static int sdwhid_raw_request(struct hid_device *hid, unsigned char reportnum, in sdwhid_raw_request() 70 static int sdwhid_open(struct hid_device *hid) in sdwhid_open() 21 sdwhid_parse(struct hid_device * hid) sdwhid_parse() argument 43 sdwhid_start(struct hid_device * hid) sdwhid_start() argument 48 sdwhid_stop(struct hid_device * hid) sdwhid_stop() argument 52 sdwhid_raw_request(struct hid_device * hid,unsigned char reportnum,__u8 * buf,size_t len,unsigned char rtype,int reqtype) sdwhid_raw_request() argument 67 sdwhid_open(struct hid_device * hid) sdwhid_open() argument 72 sdwhid_close(struct hid_device * hid) sdwhid_close() argument 88 struct hid_device *hid; sdca_add_hid_device() local [all...] |
| /linux/drivers/hid/surface-hid/ |
| H A D | surface_hid_core.c | 3 * Common/core components for the Surface System Aggregator Module (SSAM) HID 4 * transport driver. Provides support for integrated HID devices on Microsoft 11 #include <linux/hid.h> 52 dev_err(shid->dev, "unexpected HID descriptor length: got %u, expected %zu\n", in surface_hid_load_hid_descriptor() 58 dev_err(shid->dev, "unexpected HID descriptor type: got %#04x, expected %#04x\n", in surface_hid_load_hid_descriptor() 102 static int surface_hid_start(struct hid_device *hid) in surface_hid_start() argument 104 struct surface_hid_device *shid = hid->driver_data; in surface_hid_start() 109 static void surface_hid_stop(struct hid_device *hid) in surface_hid_stop() argument 111 struct surface_hid_device *shid = hid->driver_data; in surface_hid_stop() 116 * also includes unregistration of HID events, so we need to check this in surface_hid_stop() [all …]
|
| /linux/drivers/hid/bpf/progs/ |
| H A D | README | 1 # HID-BPF programs 9 They should be loaded in the kernel by `udev-hid-bpf`: 11 https://gitlab.freedesktop.org/libevdev/udev-hid-bpf 14 "upstream" them, but also this way we can test them thanks to the HID 17 Once a .bpf.c file is accepted here, it is duplicated in `udev-hid-bpf` 20 land in distributions when they update `udev-hid-bpf` 30 Just run `sudo udev-hid-bpf install ./my-awesome-fix.bpf.o` 34 - copy the `.bpf.o` you want in `/etc/udev-hid-bpf/` 37 The following should do the trick (assuming udev-hid-bpf is available in 41 $> cp xppen-ArtistPro16Gen2.bpf.o /etc/udev-hid-bpf/ [all …]
|
| /linux/drivers/hid/ |
| H A D | hid-lg4ff.c | 17 #include <linux/hid.h> 20 #include "hid-lg.h" 21 #include "hid-lg4ff.h" 22 #include "hid-ids.h" 61 static void lg4ff_set_range_dfp(struct hid_device *hid, u16 range); 62 static void lg4ff_set_range_g25(struct hid_device *hid, u16 range); 79 void (*set_range)(struct hid_device *hid, u16 range); 83 spinlock_t report_lock; /* Protect output HID report */ 103 void (*set_range)(struct hid_device *hid, u16 range); 300 int lg4ff_adjust_input_event(struct hid_device *hid, struct hid_field *field, in lg4ff_adjust_input_event() argument [all …]
|
| H A D | hid-goodix-spi.c | 3 * Goodix GT7986U SPI Driver Code for HID. 9 #include <linux/hid.h> 96 struct hid_device *hid; member 103 /* lock for hid raw request operation */ 105 /* buffer used to store hid report event */ 238 * goodix_hid_parse() - hid-core .parse() callback 239 * @hid: hid device instance 245 static int goodix_hid_parse(struct hid_device *hid) in goodix_hid_parse() argument 247 struct goodix_ts_data *ts = hid in goodix_hid_parse() 282 goodix_hid_find_max_report(struct hid_device * hid,unsigned int type,unsigned int * max) goodix_hid_find_max_report() argument 295 goodix_hid_start(struct hid_device * hid) goodix_hid_start() argument 319 goodix_hid_stop(struct hid_device * hid) goodix_hid_stop() argument 324 goodix_hid_open(struct hid_device * hid) goodix_hid_open() argument 332 goodix_hid_close(struct hid_device * hid) goodix_hid_close() argument 386 goodix_hid_get_raw_report(struct hid_device * hid,unsigned char reportnum,u8 * buf,size_t len,unsigned char report_type) goodix_hid_get_raw_report() argument 486 goodix_hid_set_raw_report(struct hid_device * hid,unsigned char reportnum,__u8 * buf,size_t len,unsigned char report_type) goodix_hid_set_raw_report() argument 534 goodix_hid_raw_request(struct hid_device * hid,unsigned char reportnum,__u8 * buf,size_t len,unsigned char rtype,int reqtype) goodix_hid_raw_request() argument 636 struct hid_device *hid; goodix_hid_init() local [all...] |
| H A D | hid-mf.c | 25 #include <linux/hid.h> 28 #include "hid-ids.h" 36 struct hid_device *hid = input_get_drvdata(dev); in mf_play() local 52 hid_hw_request(hid, mf->report, HID_REQ_SET_REPORT); in mf_play() 57 static int mf_init(struct hid_device *hid) in mf_init() argument 62 &hid->report_enum[HID_OUTPUT_REPORT].report_list; in mf_init() 67 struct list_head *input_ptr = &hid->inputs; in mf_init() 79 hid_err(hid, "Invalid report, this should never happen!\n"); in mf_init() 83 if (list_is_last(input_ptr, &hid->inputs)) { in mf_init() 84 hid_err(hid, "Missing input, this should never happen!\n"); in mf_init() [all …]
|
| H A D | uhid.c | 3 * User-space I/O driver support for HID subsystem 15 #include <linux/hid.h> 32 /* This flag tracks whether the HID device is usable for commands from 39 * holding @devlock, it's still fine to access @hid. 47 struct hid_device *hid; member 73 ret = hid_add_device(uhid->hid); in uhid_device_add_worker() 75 hid_err(uhid->hid, "Cannot register HID device: error %d\n", ret); in uhid_device_add_worker() 80 * of using uhid->hid. in uhid_device_add_worker() 81 * Just leave uhid->hid a in uhid_device_add_worker() 126 uhid_hid_start(struct hid_device * hid) uhid_hid_start() argument 152 uhid_hid_stop(struct hid_device * hid) uhid_hid_stop() argument 160 uhid_hid_open(struct hid_device * hid) uhid_hid_open() argument 167 uhid_hid_close(struct hid_device * hid) uhid_hid_close() argument 174 uhid_hid_parse(struct hid_device * hid) uhid_hid_parse() argument 232 uhid_hid_get_report(struct hid_device * hid,unsigned char rnum,u8 * buf,size_t count,u8 rtype) uhid_hid_get_report() argument 275 uhid_hid_set_report(struct hid_device * hid,unsigned char rnum,const u8 * buf,size_t count,u8 rtype) uhid_hid_set_report() argument 316 uhid_hid_raw_request(struct hid_device * hid,unsigned char reportnum,__u8 * buf,size_t len,unsigned char rtype,int reqtype) uhid_hid_raw_request() argument 346 uhid_hid_output_raw(struct hid_device * hid,__u8 * buf,size_t count,unsigned char report_type) uhid_hid_output_raw() argument 384 uhid_hid_output_report(struct hid_device * hid,__u8 * buf,size_t count) uhid_hid_output_report() argument 492 struct hid_device *hid; uhid_dev_create2() local [all...] |
| H A D | hid-cmedia.c | 3 * HID driver for CMedia CM6533 audio jack controls 11 #include <linux/hid.h> 13 #include "hid-ids.h" 17 MODULE_DESCRIPTION("CM6533 HID jack controls and HS100B mute button"); 65 *CM6533 audio jack HID raw events: 87 struct hid_device *hid; member 91 static void hp_ev(struct hid_device *hid, struct cmhid *cm, int value) in hp_ev() argument 97 static int cmhid_raw_event(struct hid_device *hid, struct hid_report *report, in cmhid_raw_event() argument 100 struct cmhid *cm = hid_get_drvdata(hid); in cmhid_raw_event() 102 if (len != CM6533_JD_RAWEV_LEN || !(hid->claimed & HID_CLAIMED_INPUT)) in cmhid_raw_event() [all …]
|
| H A D | hid-appleir.c | 3 * HID driver for the apple ir device 8 * Ported to HID subsystem by Benjamin Tissoires <benjamin.tissoires@gmail.com> 19 #include <linux/hid.h> 21 #include "hid-ids.h" 25 MODULE_DESCRIPTION("HID Apple IR remote controls"); 109 struct hid_device *hid; member 151 static void key_up(struct hid_device *hid, struct appleir *appleir, int key) in key_up() argument 157 static void key_down(struct hid_device *hid, struct appleir *appleir, int key) in key_down() argument 171 struct hid_device *hid = appleir->hid; in key_up_tick() local 176 key_up(hid, appleir, appleir->current_key); in key_up_tick() [all …]
|
| H A D | hid-core.c | 3 * HID support for Linux 31 #include <linux/hid.h> 33 #include <linux/hid-debug.h> 36 #include "hid-ids.h" 42 #define DRIVER_DESC "HID core driver" 353 field->usage[i].hid = parser->local.usage[j]; in hid_add_field() 458 * nibble due to the common misunderstanding of HID in hid_parser_global() 728 * If the HID driver had a rdesc_fixup() callback, dev->rdesc in hid_close_report() 729 * will be allocated by hid-core and needs to be freed. in hid_close_report() 761 struct hid_device *hid = container_of(ref, struct hid_device, ref); in hiddev_free() local [all …]
|
| /linux/drivers/hid/i2c-hid/ |
| H A D | Kconfig | 3 tristate "I2C HID support" 10 tristate "HID over I2C transport layer ACPI driver" 16 other HID based devices which is connected to your computer via I2C. 22 will be called i2c-hid-acpi. It will also build/depend on the 23 module i2c-hid. 26 tristate "HID over I2C transport layer Open Firmware driver" 28 # (board-file) instantiated "hid-over-i2c" type i2c-clients. 33 other HID based devices which is connected to your computer via I2C. 35 well as binding to manually (board-file) instantiated i2c-hid-clients. 40 will be called i2c-hid-of. It will also build/depend on the [all …]
|
| H A D | i2c-hid-core.c | 2 * HID over I2C protocol implementation 8 * This code is partly based on "USB HID support for Linux": 37 #include <linux/hid.h> 43 #include "../hid-ids.h" 44 #include "i2c-hid.h" 95 struct hid_device *hid; /* pointer to corresponding HID dev */ member 96 struct i2c_hid_desc hdesc; /* the HID Descriptor */ 98 * register of the HID 158 * i2c_hid_lookup_quirk: return any quirks associated with a I2C HID device 339 * @ihid: the i2c hid device [all …]
|
| /linux/include/linux/ |
| H A D | hid.h | 28 #include <uapi/linux/hid.h> 54 * HID report item format 67 * HID report descriptor item type (prefix bit 2,3) 76 * HID report descriptor main item tags 88 * HID report descriptor main item contents 102 * HID report descriptor collection item types 111 * HID report descriptor global item tags 128 * HID report descriptor local item tags 143 * HID usage tables 348 * HID connect requests [all …]
|