[PATCH] Add support for USB Keyboard attached to UHCI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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.


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [XFree86]

Add to Google Powered by Linux