Tomasz Figa <tomasz.figa@xxxxxxxxx> : > On 22.03.2014 22:55, Byungho An wrote: > > > > Tomasz Figa <tomasz.figa@xxxxxxxxx> : > > [snip] > > >>> + if (priv->irq <= 0) { > >>> + dev_err(dev, "sxgbe common irq parsing failed\n"); > >>> + sxgbe_drv_remove(ndev); > >>> + return -EINVAL; > >>> + } > >>> + > >>> + /* Get the TX/RX IRQ numbers */ > >>> + for (i = 0, chan = 0; i < SXGBE_TX_QUEUES; i++) { > >>> + priv->txq[i]->irq_no = irq_of_parse_and_map(node, chan++); > >> > >> Hmm, this call looks suspicious. The "chan" variable starts here as 0 > >> and so > > the > >> first call to irq_of_parse_and_map() will end up with parsing the > >> first > > (zeroth) > >> entry of "interrupts" property, which would be the same as returned > >> by platform_get_irq(..., 0) above. Maybe this was the point where the > "loop" > >> variable should be used? > > OK. it will be chan instead of loop. > > thanks I missed. > > > >> > >> Anyway, why you couldn't simply use platform_get_irq() here as well? > > I'll change platform_get_irq to irq_of_parse_and_map because latter > > can support PCI and nonPCI > > Hmm, since this function is for probing only platform devices, I don't see how > this code could be used for PCI. For platform devices > platform_get_irq() is preferred. Those things will be added after this serise. > > Best regards, > Tomasz -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html