[PATCH] Add support for USB Keyboard attached to UHCI

Jay Lan jlan at sgi.com
Wed Feb 6 10:34:57 PST 2008


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: kbaidarov at ru.mvista.com
>   
> Signed-off-by: Konstantin Baydarov <kbaidarov at ru.mvista.com>
> 
---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.


More information about the kdb mailing list