Tomasz Figa <[email protected]> :
> On 22.03.2014 22:55, Byungho An wrote:
> >
> > Tomasz Figa <[email protected]> :
> 
> [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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to