]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
drivers: net: ethernet: axienet: correcting the parsing of device tree for axienet
authorSaurabh Sengar <saurabh.singh@xilinx.com>
Mon, 1 May 2017 10:00:26 +0000 (15:30 +0530)
committerMichal Simek <monstr@monstr.eu>
Tue, 3 Oct 2017 15:26:38 +0000 (17:26 +0200)
When TSN flags are enable it shouldn't effect AXIENET device tree parsing.
Hence added an extra is_tsn check at runtime, making parsing of both the
drivers exclusive irrespective of which flag is enabled.

Signed-off-by: Saurabh Sengar <saurabhs@xilinx.com>
Acked-by: Kedareswara rao Appana <appanad@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/net/ethernet/xilinx/xilinx_axienet_main.c

index 1a12e364b842987daeb4af7037aa13becc0bc639..03a566949cc6f6127597094b638bf64c921ac511 100644 (file)
@@ -2540,18 +2540,26 @@ static int axienet_dma_probe(struct platform_device *pdev,
        }
 
 #ifdef CONFIG_XILINX_TSN
-       for_each_dma_queue(lp, i) {
-               sprintf(dma_name, "dma%d_tx", i);
-               lp->dq[i]->tx_irq = platform_get_irq_byname(pdev, dma_name);
-               sprintf(dma_name, "dma%d_rx", i);
-               lp->dq[i]->rx_irq = platform_get_irq_byname(pdev, dma_name);
-               pr_info("lp->dq[%d]->tx_irq  %d\n", i, lp->dq[i]->tx_irq);
-               pr_info("lp->dq[%d]->rx_irq  %d\n", i, lp->dq[i]->rx_irq);
-       }
-#else /* This should remove when axienet idevice tree irq comply to dma name */
-       for_each_dma_queue(lp, i) {
-               lp->dq[i]->tx_irq = irq_of_parse_and_map(np, 0);
-               lp->dq[i]->rx_irq = irq_of_parse_and_map(np, 1);
+       if (lp->is_tsn) {
+               for_each_dma_queue(lp, i) {
+                       sprintf(dma_name, "dma%d_tx", i);
+                       lp->dq[i]->tx_irq = platform_get_irq_byname(pdev,
+                                                                   dma_name);
+                       sprintf(dma_name, "dma%d_rx", i);
+                       lp->dq[i]->rx_irq = platform_get_irq_byname(pdev,
+                                                                   dma_name);
+                       pr_info("lp->dq[%d]->tx_irq  %d\n", i,
+                               lp->dq[i]->tx_irq);
+                       pr_info("lp->dq[%d]->rx_irq  %d\n", i,
+                               lp->dq[i]->rx_irq);
+               }
+       } else {
+#endif /* This should remove when axienet device tree irq comply to dma name */
+               for_each_dma_queue(lp, i) {
+                       lp->dq[i]->tx_irq = irq_of_parse_and_map(np, 0);
+                       lp->dq[i]->rx_irq = irq_of_parse_and_map(np, 1);
+               }
+#ifdef CONFIG_XILINX_TSN
        }
 #endif