Re: [PATCH V11 2/7] net: sxgbe: add basic framework for Samsung 10Gb ethernet driver

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

 




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.

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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux