David, ----- Original Message ----- > >> + strncpy(hid->name, ev->u.create.name, 128); > >> + hid->name[127] = 0; > >> + hid->ll_driver = &uhid_hid_driver; > >> + hid->hid_get_raw_report = uhid_hid_get_raw; > >> + hid->hid_output_raw_report = uhid_hid_output_raw; > >> + hid->bus = ev->u.create.bus; > >> + hid->vendor = ev->u.create.vendor; > >> + hid->product = ev->u.create.product; > >> + hid->version = ev->u.create.version; > >> + hid->country = ev->u.create.country; > >> + hid->phys[0] = 0; > >> + hid->uniq[0] = 0; > >> + hid->driver_data = uhid; > >> + hid->dev.parent = uhid->parent; > > > > Here we have to make sure that we have all required information provided > > by userspace. Anything else that HID might require to work better. Or > > that BR/EDR or LE provides additionally over USB. > > Beside phys and uniq I have copied all information that HIDP and > USBHID use. I haven't found any other field that could be of interest > here. We can also always add UHID_CREATE2 with additional fields to > allow further additions (or use a "size" field as you suggested > below). HID report descriptor may reference Physical Descriptor (HID 6.2.3) and String Descriptor entries (USB 9.6.8, HID E.11). Physical Descriptor blob could be another __user buffer + size in uhid_create_req. String descriptor should probably be an event for querying strings. hidraw interface also offers access to Feature Reports, adding events to send/receive and query (kernel querying uhid client) feature reports could be of some interest. Cheers, -- Nicolas Pouillon -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html