Re: [PATCH] Add support for USB Keyboard attached to UHCI
Jay Lan <[email protected]> Wed, 06 Feb 2008 10:34:57 -0800
| Newsgroups | gmane.linux.kernel.debugging |
|---|---|
| Message-ID | <[email protected]> |
Hi Konstantin, Thanks for your updated version. I actually managed to fix and merge the USB_UHCI_support-v2 to kdb patchset 2.6.24-rc8-3 (and thus the 2.6.24-1 patch set.) Well, Aaron noticed that OHCI was broken and we noticed dropped characters. So, here is the plan. I will back out USB_UHCI_support part of code from 2.6.24-1 and remove USB_UHCI_support-v2.bz from the download area, and we will start with your new patch. Thanks, - jay Konstantin Baydarov wrote: > Hello, Aarong, Jay. Sorry that it takes to much time to review/reply messages related to UHCI. > ftp://oss.sgi.com/projects/kdb/download/v4.4/USB_UHCI_support-v2.bz2 - isn't complete. Kernel 2.6.24-rc4 doesn't even compile. > I've redesign my patch to make only minimal changes to common usb layer. > - I've added two USB Host Controller (HC) specific callbacks kdb_hc_keyboard_attach, kdb_hc_keyboard_detach to the kdb_usb_kbd_info. Callbacks kdb_hc_keyboard_attach, kdb_hc_keyboard_detach are called from kdb_usb_keyboard_attach, kdb_usb_keyboard_detach correspondingly to make USB HC specific KDB work when KBD is attached/detached. So no new global functions to USB layer are required. Currently only UHCI has this callbacks. > - I've moved all KDB UHCI code to UHCI HC files. Now we have only one kdb_uhci_keyboard_urb() instead of 3 copies (Jay noticed it earlier). > - As I've added USB HC specific callbacks and moved all UHCI code to UHCI driver, there shouldn't any problems now when USB HD drivers is compiled as kernel modules. > - Allow CONFIG_KDB_USB option(In arch/x86/Kconfig.debug) if any of USB HC is selected, not only OHCI. > - One common change was done in get_usb_char(). It was in earlier version of patch but we didn't discuss it. In case of UHCI Keyboard, when 2 keys is pressed simultaneously we get 2 urbs. First urb stores only 1 keycode of the first pressed key in kdb_usb_kbds[i].buffer[2]. Second urb stores 2 keycodes - first keycode in kdb_usb_kbds[i].buffer[2], second keycode in kdb_usb_kbds[i].buffer[3]. As previous code of get_usb_char() just ignore kdb_usb_kbds[i].buffer[3], I've made updates of get_usb_char(). Also I've added USB HC specific URB complete callback to get_usb_char(). I don't know how keycodes are stored in case of OHCI and EHCI, so probably USB HC checks should also be added to get_usb_char() or new USB HC callback should be added to get_usb_char(), that extracts keycodes from URB buffer. > > Patch was done for 2.6.24-rc4 KDB kernel with ftp://oss.sgi.com/projects/kdb/download/v4.4/USB_EHCI_support-v2.bz2 applied. > > I hope you'll have some time to review changes. > > Also I've sent another patch http://oss.sgi.com/archives/kdb/2007-11/msg00037.html , Aarong, I hope you'll have some time to review it too. > > With Best Regards, > Konstantin Baydarov, Software Engineer > Montavista Russia > mail-to: [email protected] > > Signed-off-by: Konstantin Baydarov <[email protected]> > --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.