Francois Romieu <romieu@xxxxxxxxxxxxx>: > Byungho An <bh74.an@xxxxxxxxxxx> : > [...] > > How about below ? > > The for loops should be unrolled. > > (style: no need to join before branching) > > I must go to work, so you'll have to fill the dots in the code below: > > priv = sxgbe_drv_probe(&(pdev->dev), plat_dat, addr); > if (!priv) { > pr_err("%s: main driver probe failed\n", __func__); > goto err_something; > } > > /* Get the SXGBE common INT information */ > priv->irq = irq_of_parse_and_map(node, 0); > if (priv->irq <= 0) { > dev_err(dev, "sxgbe common irq parsing failed\n"); > goto err_drv_remove; > } > > /* Get the TX/RX IRQ numbers */ > for (i = 0, chan = 1; i < SXGBE_TX_QUEUES; i++) { > priv->txq[i]->irq_no = irq_of_parse_and_map(node, chan++); > if (priv->txq[i]->irq_no <= 0) { > dev_err(dev, "sxgbe tx irq parsing failed\n"); > goto err_tx_irq_unmap; > } > } > > for (i = 0; i < SXGBE_RX_QUEUES; i++) { > priv->rxq[i]->irq_no = irq_of_parse_and_map(node, chan++); > if (priv->rxq[i]->irq_no <= 0) { > dev_err(dev, "sxgbe rx irq parsing failed\n"); > goto err_rx_irq_unmap; > } > } > > platform_set_drvdata(pdev, priv->dev); > > pr_debug("platform driver registration completed\n"); > > return 0; > > err_rx_irq_unmap: > /* TODO: check that 'i' isn't unsigned. */ > while (i--) > irq_dispose_mapping(priv->rx[i]->irq_no); > i = SXGBE_TX_QUEUES; > err_tx_irq_unmap: > while (i--) > irq_dispose_mapping(priv->tx[i]->irq_no); > irq_dispose_mapping(priv->irq); > err_drv_remove: > sxgbe_drv_remove(ndev); > err_something: > ... > OK, thanks > -- > Ueimor -- 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