Jay Lan wrote:
> Hi Konstantin,
>
> There is one compilation error and one link error on IA64. See below.
>
> Konstantin Baydarov wrote:
[excessive text deleted]
>> Index: linux-2.6.24-rc2/drivers/usb/host/uhci-hcd.c
>> ===================================================================
>> --- linux-2.6.24-rc2.orig/drivers/usb/host/uhci-hcd.c
>> +++ linux-2.6.24-rc2/drivers/usb/host/uhci-hcd.c
>> @@ -434,6 +434,21 @@ static irqreturn_t uhci_irq(struct usb_h
>> return IRQ_HANDLED;
>> }
>>
>> +/* Unlink KDB QH from hardware and software scheduler */
>
> Since CONFIG_USB_UHCI_HCD can be a module, the following routine needs
> to be exported.
Well, exporting the symbol did not solve the link problem. :(
The kdb_unlink_uhci_qh() is called from arch/ia64/kdb/kdba_io.c, which
is linked statically. So, this kdb_unlink_uhci_qh() routine needs to be
a build-in as well.
Thanks,
- jay
>
> Also, the new routine should be enclosed inside the CONFIG_KDB_USB.
>
> Thanks,
> - jay
>
>> +void kdb_unlink_uhci_qh(struct urb *urb, struct uhci_qh *qh)
>> +{
>> + unsigned long flags;
>> + struct uhci_hcd *uhci;
>> +
>> + uhci = (struct uhci_hcd *) hcd_to_uhci(bus_to_hcd(urb->dev->bus));
>> +
>> + spin_lock_irqsave(&uhci->lock, flags);
>> + unlink_interrupt(NULL, qh);
>> + list_del(&(qh->node));
>> + spin_unlock_irqrestore(&uhci->lock, flags);
>> +
>> +}
>> +
>> #ifdef CONFIG_KDB_USB
>> static int
>> uhci_kdb_poll_char(struct urb *urb)
>> Index: linux-2.6.24-rc2/include/linux/kdb.h
>> ===================================================================
>> --- linux-2.6.24-rc2.orig/include/linux/kdb.h
>> +++ linux-2.6.24-rc2/include/linux/kdb.h
>> @@ -144,7 +144,6 @@ extern void smp_kdb_stop(void);
>> #include <linux/usb.h>
>>
>> extern int kdb_uhci_keyboard_urb(struct urb *urb);
>> -extern int kdb_uhci_keyboard_clear(struct urb *urb);
>> extern int kdb_usb_keyboard_alloc(void);
>>
>> extern int kdb_usb_keyboard_attach(struct urb *urb, unsigned char *buffer,
>> void *poll_func, void *compl_func, struct urb *hid_urb);
>> ---------------------------
>> Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.
>
> ---------------------------
> Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.
---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.