diff options
Diffstat (limited to 'drivers/usbdcore_omap1510.c')
| -rw-r--r-- | drivers/usbdcore_omap1510.c | 29 | 
1 files changed, 28 insertions, 1 deletions
| diff --git a/drivers/usbdcore_omap1510.c b/drivers/usbdcore_omap1510.c index 1d54a6357..83d898f0d 100644 --- a/drivers/usbdcore_omap1510.c +++ b/drivers/usbdcore_omap1510.c @@ -645,7 +645,7 @@ static void omap1510_udc_state_changed (void)  static void omap1510_udc_setup (struct usb_endpoint_instance *endpoint)  {  	UDCDBG ("-> Entering device setup"); - +	  	do {  		const int setup_pktsize = 8;  		unsigned char *datap = @@ -1517,4 +1517,31 @@ void udc_startup_events (struct usb_device_instance *device)  	udc_enable (device);  } +/** + * udc_irq - do pseudo interrupts  + */ +void udc_irq(void) +{ +	/* Loop while we have interrupts. +	 * If we don't do this, the input chain +	 * polling delay is likely to miss +	 * host requests. +	 */ +	while (inw (UDC_IRQ_SRC) & ~UDC_SOF_Flg) { +		/* Handle any new IRQs */ +		omap1510_udc_irq (); +		omap1510_udc_noniso_irq (); +	} +} + +/* Flow control */ +void udc_set_nak(int epid) +{ +	/* TODO: implement this functionality in omap1510 */ +} + +void udc_unset_nak (int epid) +{ +	/* TODO: implement this functionality in omap1510 */ +}  #endif |