On Tue, 13 Mar 2012, Stéphane Chatty wrote: > > Let me answer by a bit of history here. Originally, there have been > > two copies of HID code in the kernel -- one for USB HID devices, one > > for Bluetooth HID devices. The parsers were not kept in sync, and > > there was a lot of code duplication, creating quite some mess. > > > > What I did back then in 2006 was that I have extracted the abstract HID > > parts into HID core, and made it transport-independent in principle, so > > that both USB HID and Bluetooth HID shared the common infrastructure, > > while implementing different transport protocols. > > > > Then we extended it a little bit further, making HID core a proper bus, to > > which individual drivers (independently on underlying transport protocol > > used) can register. > > > > Currently there are just Bluetooth (hidp) and USB (usbhid) transport > > implementations, with HID core being transport independent. > > > > Hope this helps, > > Very useful clarification, thanks. Now, I guess I understand why Marcel > wants to keep hidp in bluetooth/. And, to be honest, things would have > been clearer to me when I explored the handling of the USB/HID class if > I had found a hid (or usbhid) directory in usb/ rather than a usbhid > subdirectory in hid/: it did not make the above situation very obvious > to me. Don't you think we could go along with Marcel and move usbhid to > usb/? It seemed to be convenient back then, and it's still convenient for me in some sense, as I am maintaining both HID core and USB HID, but bluetooth guys are maintaining the bluetooth transport. But I don't have strong opinion either way, I can as well move usbhid to drivers/usb and maintain it there (will need to talk to Greg about it first of course). But frankly, I don't see it making things magically clear for everyone :) -- Jiri Kosina SUSE Labs -- 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