On Sun, Aug 19, 2012 at 01:53:26PM -0700, Kevin Cernekee wrote: > > According to this code, i in iudma[] can be in 1..5. You could have more than > > one IRQ. The comment above this for loop is point less. So I think if you can > > only have _one_ idma irq than you could remove the for loop in > > bcm63xx_udc_data_isr(). > > There are 6 IUDMA channels, and each one always has a dedicated > interrupt line. IRQ resource #0 is the control (vbus/speed/cfg/etc.) > IRQ, and IRQ resources #1-6 are the IUDMA (IN/OUT data) IRQs. Maybe > it would be good to add a longer comment to clarify this? Now that I look at the code again, I see what I've missed. So you can have multiple irqs in the range #1-6. Why not pass the iudma struct then? Passing the struct instead of a range is good thing. Sebastian