Lines Matching refs:hid

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()
126 static int surface_hid_open(struct hid_device *hid) in surface_hid_open() argument
131 static void surface_hid_close(struct hid_device *hid) in surface_hid_close() argument
135 static int surface_hid_parse(struct hid_device *hid) in surface_hid_parse() argument
137 struct surface_hid_device *shid = hid->driver_data; in surface_hid_parse()
151 status = hid_parse_report(hid, buf, len); in surface_hid_parse()
157 static int surface_hid_raw_request(struct hid_device *hid, unsigned char reportnum, u8 *buf, in surface_hid_raw_request() argument
160 struct surface_hid_device *shid = hid->driver_data; in surface_hid_raw_request()
201 shid->hid = hid_allocate_device(); in surface_hid_device_add()
202 if (IS_ERR(shid->hid)) in surface_hid_device_add()
203 return PTR_ERR(shid->hid); in surface_hid_device_add()
205 shid->hid->dev.parent = shid->dev; in surface_hid_device_add()
206 shid->hid->bus = BUS_HOST; in surface_hid_device_add()
207 shid->hid->vendor = get_unaligned_le16(&shid->attrs.vendor); in surface_hid_device_add()
208 shid->hid->product = get_unaligned_le16(&shid->attrs.product); in surface_hid_device_add()
209 shid->hid->version = get_unaligned_le16(&shid->hid_desc.hid_version); in surface_hid_device_add()
210 shid->hid->country = shid->hid_desc.country_code; in surface_hid_device_add()
212 snprintf(shid->hid->name, sizeof(shid->hid->name), "Microsoft Surface %04X:%04X", in surface_hid_device_add()
213 shid->hid->vendor, shid->hid->product); in surface_hid_device_add()
215 strscpy(shid->hid->phys, dev_name(shid->dev), sizeof(shid->hid->phys)); in surface_hid_device_add()
217 shid->hid->driver_data = shid; in surface_hid_device_add()
218 shid->hid->ll_driver = &surface_hid_ll_driver; in surface_hid_device_add()
220 status = hid_add_device(shid->hid); in surface_hid_device_add()
222 hid_destroy_device(shid->hid); in surface_hid_device_add()
230 hid_destroy_device(shid->hid); in surface_hid_device_destroy()
243 return hid_driver_suspend(d->hid, PMSG_SUSPEND); in surface_hid_suspend()
250 return hid_driver_resume(d->hid); in surface_hid_resume()
257 return hid_driver_suspend(d->hid, PMSG_FREEZE); in surface_hid_freeze()
264 return hid_driver_suspend(d->hid, PMSG_HIBERNATE); in surface_hid_poweroff()
271 return hid_driver_reset_resume(d->hid); in surface_hid_restore()