Re: [PATCH] Add support for USB Keyboard attached to UHCI
Aaron Young <[email protected]> Fri, 30 Nov 2007 12:11:05 -0800 (PST)
| Newsgroups | gmane.linux.kernel.debugging |
|---|---|
| Message-ID | <[email protected]> |
> > On Fri, 30 Nov 2007 08:43:07 -0800 (PST) > Aaron Young <[email protected]> wrote: > > > > > > > > > > > > > Looking better! More comments: > > > > > > 1. I don't understand the need for the call to > > > kdb_uhci_keyboard_clear(). It's only called if > > > kdb_usb_keyboard_attach() fails and in that case we > > > didn't add the urb to kdb_usb_kbds[]. So, I don't > > > see the need to clear it out of kdb_usb_kbds[]... > > > (I'm probably missing something here). > - Now I call kdb_uhci_keyboard_clear() if usb_submit_urb() failed, that is called after kdb_usb_keyboard_attach(). Why not just call kdb_usb_keyboard_detach()? > > > > > > > 2. I probably would have made kdb_uhci_submit_urb() return > > > the newly created kdb_urb (extra arg) on success and not call > > > kdb_usb_keyboard_attach() directly from within. Then you can > > > just make a single call to kdb_usb_keyboard_attach() for all three > > > cases (OHCI, EHCI and UHCI) out of hid_probe(). But, not > > > a *BIG* deal... > - We should first fill kdb_usb_kbds[] before call of usb_submit_urb() because uhci_urb_enqueue() checks kdb_usb_kbds[] to find out if KDB URB is enqueued. So kdb_usb_keyboard_attach() should be called in the "middle" of the function kdb_uhci_submit_urb(). OK.. > > > > > > > 3. We'll have to get updates to ia64 kdba_io.c as well, otherwise > > > it will result in compile errors on ia64. i.e. > > > kdb_usb_keyboard_attach() will have a number of args mismatch and > > > all the routines you added to kdba_io_32.c and kdba_io_64.c will > > > not be there. > - Can't find any ia64 file... linux/arch/ia64/kdb/kdba_io.c Maybe it's part of a different KDB patch or something? Jay? > > > > > > Does hotplug/hotunplug of the keyboards work? > > > Does it correctly remove the KDB URBs on hotunplug? > - kdb_usb_keyboard_detach() is never called on my PC. So I tested only 1 case: attaching keyboard after kernel boot - works OK. Should get called out of hid_disconnect() when a keyboard is unplugged. If you are using a usb1.1 hub, it may not work - I've seen this problem with USB1.1 hub. MIght want to try plugging/unplugging the keyboard directly into the chassis port if so. BTW - do you have a USB2.0 hub? The EHCI KDB code has yet to be tested on x86 and I'd be curious if it worked or not (hope it does)... -Aaron --------------------------- Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.