HID bus prototype 20070416 Changelog since 20070408: 1. HID/Bluetooth work, however we can not forcely remove hidp.ko, elsewise the kernel oops. It is tested by one Logitech mouse, thanks yanghong here again. The reason of oops is the user process trap into kernel by ioctl() on hidp socket, but this implementation code already be removed out of kernel. Unfortunately, I found the original hidp.ko also have this problem. It seem we can not forcely close that socket without touch VFS code. 2. API Renames, e.g. register_hid_device() ==> hid_register_device(). 3. Add HID_QUIRKS_SKIP. 4. Other refactorings or cleans. NOTE: This patch is only for review. so it just is prototype. drivers/hid/Kconfig | 2 drivers/hid/Makefile | 22 + drivers/hid/hid-al.c | 505 +++++++++++++++++++++++++++++++++++++++++ drivers/hid/hid-core.c | 154 +++++++++--- drivers/hid/hid-input.c | 371 ++++++++++++++---------------- drivers/hid/hid-inter.h | 26 ++ drivers/hid/hidraw.c | 60 +++- drivers/hid/usbhid/Kconfig | 38 +-- drivers/hid/usbhid/Makefile | 42 +-- drivers/hid/usbhid/hid-core.c | 261 ++++++++++++--------- drivers/hid/usbhid/hid-ff.c | 90 ------- drivers/hid/usbhid/hid-lgff.c | 55 ++++ drivers/hid/usbhid/hid-pb.c | 334 +++++++++++++++++++++++++++ drivers/hid/usbhid/hid-pidff.c | 36 ++ drivers/hid/usbhid/hid-plff.c | 50 +++- drivers/hid/usbhid/hid-tmff.c | 50 +++- drivers/hid/usbhid/hid-zpff.c | 52 ++++ drivers/hid/usbhid/hiddev.c | 95 ++++--- drivers/hid/usbhid/usbhid.h | 4 include/linux/hid.h | 193 ++++++++++----- include/linux/hiddev.h | 18 - include/linux/hidraw.h | 14 - include/linux/input.h | 2 net/bluetooth/hidp/Makefile | 12 net/bluetooth/hidp/core.c | 129 +++++++--- 25 files changed, 1940 insertions(+), 675 deletions(-)