Lines Matching refs:hid
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)
23 struct ishtp_hid_data *hid_data = hid->driver_data;
27 rv = hid_parse_report(hid, client_data->report_descr[hid_data->index],
36 static int ishtp_hid_start(struct hid_device *hid)
41 static void ishtp_hid_stop(struct hid_device *hid)
45 static int ishtp_hid_open(struct hid_device *hid)
50 static void ishtp_hid_close(struct hid_device *hid)
54 static int ishtp_raw_request(struct hid_device *hid, unsigned char reportnum,
58 struct ishtp_hid_data *hid_data = hid->driver_data;
73 hid_ishtp_get_report(hid, reportnum, rtype);
86 hid_ishtp_set_feature(hid, ishtp_buf, ishtp_buf_len, reportnum);
91 hid_hw_wait(hid);
97 * ishtp_hid_request() - hid-core .request() callback
98 * @hid: hid device instance
104 static void ishtp_hid_request(struct hid_device *hid, struct hid_report *rep,
107 struct ishtp_hid_data *hid_data = hid->driver_data;
119 hid_ishtp_get_report(hid, rep->id, rep->type);
131 hid_ishtp_set_feature(hid, buf, len, rep->id);
138 * ishtp_wait_for_response() - hid-core .wait() callback
139 * @hid: hid device instance
145 static int ishtp_wait_for_response(struct hid_device *hid)
147 struct ishtp_hid_data *hid_data = hid->driver_data;
150 hid_ishtp_trace(client_data, "%s hid %p\n", __func__, hid);
161 hid_err(hid,
165 hid_ishtp_trace(client_data, "%s hid %p done\n", __func__, hid);
174 * @hid: hid device instance
178 void ishtp_hid_wakeup(struct hid_device *hid)
180 struct ishtp_hid_data *hid_data = hid->driver_data;
198 * ishtp_hid_probe() - hid register ll driver
199 * @cur_hid_dev: Index of hid device calling to register
210 struct hid_device *hid;
213 hid = hid_allocate_device();
214 if (IS_ERR(hid)) {
215 rv = PTR_ERR(hid);
229 hid->driver_data = hid_data;
231 client_data->hid_sensor_hubs[cur_hid_dev] = hid;
233 hid->ll_driver = &ishtp_hid_ll_driver;
234 hid->bus = BUS_INTEL_ISHTP;
235 hid->dev.parent = ishtp_device(client_data->cl_device);
237 hid->version = le16_to_cpu(ISH_HID_VERSION);
238 hid->vendor = le16_to_cpu(client_data->hid_devices[cur_hid_dev].vid);
239 hid->product = le16_to_cpu(client_data->hid_devices[cur_hid_dev].pid);
240 snprintf(hid->name, sizeof(hid->name), "%s %04X:%04X", "hid-ishtp",
241 hid->vendor, hid->product);
243 rv = hid_add_device(hid);
247 hid_ishtp_trace(client_data, "%s allocated hid %p\n", __func__, hid);
254 hid_destroy_device(hid);
259 * ishtp_hid_probe() - Remove registered hid device