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 return PTR_ERR(hid);
227 hid->driver_data = hid_data;
229 client_data->hid_sensor_hubs[cur_hid_dev] = hid;
231 hid->ll_driver = &ishtp_hid_ll_driver;
232 hid->bus = BUS_INTEL_ISHTP;
233 hid->dev.parent = ishtp_device(client_data->cl_device);
235 hid->version = le16_to_cpu(ISH_HID_VERSION);
236 hid->vendor = le16_to_cpu(client_data->hid_devices[cur_hid_dev].vid);
237 hid->product = le16_to_cpu(client_data->hid_devices[cur_hid_dev].pid);
238 snprintf(hid->name, sizeof(hid->name), "%s %04X:%04X", "hid-ishtp",
239 hid->vendor, hid->product);
241 rv = hid_add_device(hid);
245 hid_ishtp_trace(client_data, "%s allocated hid %p\n", __func__, hid);
252 hid_destroy_device(hid);
257 * ishtp_hid_remove() - Remove registered hid device