On Saturday 31 March 2007 18:49, Jiri Kosina wrote: > > Hi, > > in fact I am not entirely sure that the specialized drivers hooked to the > HID bus should be passed individual fields/usages by the generic HID > driver. That would imply that generic HID layer would have to parse the > received report using information retrieved from the report descriptor of > the device. But this is in some way in contrary to one of the features > this effort should be heading to, isn't it? We want to provide means how > to bypass possible errors in HID descriptor of the device (or do any other > possible quirky handling) - we want to be able to allow for completely > different interpretation of fields than the generic HID parser would do, > right? > > So I guess the above should rather be > > static void my_driver_hid_report(struct hid_device *hid, u8 *data, > int size) > { > if (special_processing_needed(data)) { > do_special_processing(...); > input_event(field->hidinput->input, XXX, YYY, ZZZ); > ... > } else > hid_input_report(hid, data, size); > } >
Well, this of course is most flexible, however I think that for most drivers hooking into parsed data would be much easier. That means that we need to allow defining 2 hooks - one for raw data and another for parsed reports and let drivers decice which one they want to use. -- Dmitry - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/