Home
last modified time | relevance | path

Searched full:hid (Results 1 – 25 of 481) sorted by relevance

12345678910>>...20

/linux/drivers/hid/amd-sfh-hid/hid_descriptor/
H A Damd_sfh_hid_report_desc.h3 * 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 Dishtp-hid.c3 * 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 Dquicki2c-hid.c4 #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/Documentation/hid/
H A Dhid-transport.rst2 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 Damd-sfh-hid.rst7 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 Dhid-bpf.rst4 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 …]
H A Duhid.rst2 UHID - User-space I/O driver support for HID subsystem
5 UHID allows user-space to implement HID transport drivers. Please see
6 hid-transport.rst for an introduction into HID transport drivers. This document
9 With UHID, a user-space transport driver can create kernel hid-devices for each
22 If a new device is detected by your HID I/O Driver and you want to register this
23 device with the HID subsystem, then you need to open /dev/uhid once for each
51 UHID_OPEN event, the internally attached HID Device Driver has no user attached.
54 user closes the HID device, you will receive a UHID_CLOSE event. This may be
57 UHID_OPEN events without a UHID_CLOSE event. The HID subsystem performs
62 If you want to send data on the interrupt channel to the HID subsystem, you send
[all …]
/linux/drivers/staging/greybus/
H A Dhid.c3 * 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 Dsdca_hid.c13 #include <linux/hid.h>
25 static int sdwhid_parse(struct hid_device *hid) in sdwhid_parse()
27 struct sdca_function_data *function = hid->driver_data; in sdwhid_parse()
31 rsize = le16_to_cpu(function->hid.desc.rpt_desc.wDescriptorLength); in sdwhid_parse()
34 dev_err(&hid->dev, "invalid size of report descriptor (%u)\n", rsize); in sdwhid_parse()
38 ret = hid_parse_report(hid, function->hid.report_desc, rsize); in sdwhid_parse()
43 dev_err(&hid->dev, "parsing report descriptor failed\n"); in sdwhid_start() argument
47 static int sdwhid_start(struct hid_device *hid)
52 static void sdwhid_stop(struct hid_device *hid) in sdwhid_raw_request() argument
21 sdwhid_parse(struct hid_device * hid) sdwhid_parse() argument
48 sdwhid_stop(struct hid_device * hid) sdwhid_stop() 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/bpf/progs/
H A DREADME1 # 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/surface-hid/
H A Dsurface_hid_core.c3 * 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/usbhid/
H A Dhiddev.c6 * 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/drivers/hid/i2c-hid/
H A DKconfig3 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 …]
/linux/drivers/hid/
H A Dhid-cmedia.c3 * 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 Dhid-core.c3 * 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()
464 * nibble due to the common misunderstanding of HID in hid_parser_global()
734 * If the HID driver had a rdesc_fixup() callback, dev->rdesc in hid_close_report()
735 * will be allocated by hid-core and needs to be freed. in hid_close_report()
767 struct hid_device *hid = container_of(ref, struct hid_device, ref); in hiddev_free() local
[all …]
H A Dhid-appleir.c3 * 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
152 static void key_up(struct hid_device *hid, struct appleir *appleir, int key) in key_up() argument
158 static void key_down(struct hid_device *hid, struct appleir *appleir, int key) in key_down() argument
172 struct hid_device *hid = appleir->hid; in key_up_tick() local
177 key_up(hid, appleir, appleir->current_key); in key_up_tick()
[all …]
H A Dhid-creative-sb0540.c3 * HID driver for the Creative SB0540 receiver
10 #include <linux/hid.h>
12 #include "hid-ids.h"
15 MODULE_DESCRIPTION("HID Creative SB0540 receiver");
119 struct hid_device *hid; member
149 static int creative_sb0540_raw_event(struct hid_device *hid, in creative_sb0540_raw_event() argument
152 struct creative_sb0540 *creative_sb0540 = hid_get_drvdata(hid); in creative_sb0540_raw_event()
156 if (len != 6 || !(hid->claimed & HID_CLAIMED_INPUT)) in creative_sb0540_raw_event()
172 hid_err(hid, "Could not get a key for main_code %llX\n", in creative_sb0540_raw_event()
185 static int creative_sb0540_input_configured(struct hid_device *hid, in creative_sb0540_input_configured() argument
[all …]
H A Dhid-samsung.c3 * HID driver for some samsung "special" devices
12 * This driver supports several HID devices:
15 * various hid report fixups for different variants.
27 #include <linux/hid.h>
30 #include "hid-ids.h"
94 if (ifnum != 1 || HID_UP_CONSUMER != (usage->hid & HID_USAGE_PAGE)) in samsung_kbd_mouse_input_mapping()
98 usage->hid & HID_USAGE); in samsung_kbd_mouse_input_mapping()
100 switch (usage->hid & HID_USAGE) { in samsung_kbd_mouse_input_mapping()
146 if (!(HID_UP_CONSUMER == (usage->hid & HID_USAGE_PAGE) || in samsung_kbd_input_mapping()
147 HID_UP_KEYBOARD == (usage->hid & HID_USAGE_PAGE))) in samsung_kbd_input_mapping()
[all …]
H A Dhidraw.c3 * HID raw devices, giving access to raw HID events.
6 * hid events at all (no parsing, no lookups). This lets applications
7 * to work on raw hid events as they want to, and avoids a need to
26 #include <linux/hid.h>
127 dev = hidraw_table[minor]->hid; in hidraw_send_report()
153 * compatibility with old implementation of USB-HID and I2C-HID: in hidraw_send_report()
155 * on an interrupt endpoint, fallback to SET_REPORT HID command. in hidraw_send_report()
186 * per section 7.2.1 of the HID specification, version 1.1. The first byte
206 dev = hidraw_table[minor]->hid; in hidraw_get_report()
302 err = hid_hw_power(dev->hid, PM_HINT_FULLON); in hidraw_open()
[all …]
H A Dhid-tivo.c3 * HID driver for TiVo Slide Bluetooth remote
6 * based on the hid-topseed driver, which is in turn, based on hid-cherry...
13 #include <linux/hid.h>
16 #include "hid-ids.h"
26 switch (usage->hid & HID_USAGE_PAGE) { in tivo_input_mapping()
28 switch (usage->hid & HID_USAGE) { in tivo_input_mapping()
42 switch (usage->hid & HID_USAGE) { in tivo_input_mapping()
56 * standard hid mappings in hid-input.c */ in tivo_input_mapping()
67 MODULE_DEVICE_TABLE(hid, tivo_devices);
76 MODULE_DESCRIPTION("HID driver for TiVo Slide Bluetooth remote");
/linux/include/linux/
H A Dhid.h21 #include <linux/device-id/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
[all …]
H A Dhid_bpf.h9 #include <uapi/linux/hid.h>
14 * The following is the user facing HID BPF API.
21 * struct hid_bpf_ctx - User accessible data for all HID programs
26 * @hid: the &struct hid_device representing the device itself
30 * by the HID program.
44 * ``hid`` and ``allocated_size`` are read-only, ``size`` and ``retval`` are read-write.
47 struct hid_device *hid; member
56 * Below is HID internal
74 int (*hid_input_report)(struct hid_device *hid, enum hid_report_type type,
84 * struct hid_bpf_ops - A BPF struct_ops of callbacks allowing to attach HID-BPF
[all …]
/linux/Documentation/devicetree/bindings/input/
H A Dhid-over-i2c.yaml4 $id: http://devicetree.org/schemas/input/hid-over-i2c.yaml#
7 title: HID over I2C Devices
14 HID over I2C provides support for various Human Interface Devices over the
21 If this binding is used, the kernel module i2c-hid will handle the communication
22 with the device and the generic hid core layer will handle the protocol.
33 - const: hid-over-i2c
34 - description: Just "hid-over-i2c" alone is allowed, but not recommended.
35 const: hid-over-i2c
43 hid-descr-addr:
44 description: HID descriptor address
[all …]
/linux/drivers/hid/bpf/
H A Dhid_bpf_dispatch.c4 * HID-BPF support for Linux
14 #include <linux/hid.h>
33 .hid = hdev, in dispatch_hid_bpf_device_event()
92 .hid = hdev, in dispatch_hid_bpf_raw_requests()
132 .hid = hdev, in dispatch_hid_bpf_output_report()
168 .hid = hdev, in call_hid_bpf_rdesc_fixup()
223 void hid_put_device(struct hid_device *hid) in hid_put_device() argument
225 put_device(&hid->dev); in hid_put_device()
290 * @ctx: The HID-BPF context
312 * hid_bpf_allocate_context - Allocate a context to the given HID device
[all …]
/linux/drivers/iio/common/hid-sensors/
H A DKconfig3 # Hid Sensor common modules
5 menu "Hid Sensor IIO Common"
8 tristate "Common modules for all HID Sensor IIO drivers"
12 Say yes here to build support for HID sensor to use
13 HID sensor common processing for attributes and IIO triggers.
15 HID sensor drivers, this module contains processing for those
19 tristate "Common module (trigger) for all HID Sensor IIO drivers"
24 Say yes here to build trigger support for HID sensors.
28 hid-sensor-trigger.

12345678910>>...20