Lines Matching refs:hid

11 #include <linux/hid.h>
102 static int surface_hid_start(struct hid_device *hid)
104 struct surface_hid_device *shid = hid->driver_data;
109 static void surface_hid_stop(struct hid_device *hid)
111 struct surface_hid_device *shid = hid->driver_data;
126 static int surface_hid_open(struct hid_device *hid)
131 static void surface_hid_close(struct hid_device *hid)
135 static int surface_hid_parse(struct hid_device *hid)
137 struct surface_hid_device *shid = hid->driver_data;
151 status = hid_parse_report(hid, buf, len);
157 static int surface_hid_raw_request(struct hid_device *hid, unsigned char reportnum, u8 *buf,
160 struct surface_hid_device *shid = hid->driver_data;
201 shid->hid = hid_allocate_device();
202 if (IS_ERR(shid->hid))
203 return PTR_ERR(shid->hid);
205 shid->hid->dev.parent = shid->dev;
206 shid->hid->bus = BUS_HOST;
207 shid->hid->vendor = get_unaligned_le16(&shid->attrs.vendor);
208 shid->hid->product = get_unaligned_le16(&shid->attrs.product);
209 shid->hid->version = get_unaligned_le16(&shid->hid_desc.hid_version);
210 shid->hid->country = shid->hid_desc.country_code;
212 snprintf(shid->hid->name, sizeof(shid->hid->name), "Microsoft Surface %04X:%04X",
213 shid->hid->vendor, shid->hid->product);
215 strscpy(shid->hid->phys, dev_name(shid->dev), sizeof(shid->hid->phys));
217 shid->hid->driver_data = shid;
218 shid->hid->ll_driver = &surface_hid_ll_driver;
220 status = hid_add_device(shid->hid);
222 hid_destroy_device(shid->hid);
230 hid_destroy_device(shid->hid);
243 return hid_driver_suspend(d->hid, PMSG_SUSPEND);
250 return hid_driver_resume(d->hid);
257 return hid_driver_suspend(d->hid, PMSG_FREEZE);
264 return hid_driver_suspend(d->hid, PMSG_HIBERNATE);
271 return hid_driver_reset_resume(d->hid);