Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1942e482 authored by Jonas Gorski's avatar Jonas Gorski Committed by David S. Miller
Browse files

bcm63xx_enet: use platform data for dma channel numbers



To reduce the reliance on device ids, pass the dma channel numbers to
the enet devices as platform data.

Signed-off-by: default avatarJonas Gorski <jonas.gorski@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 75550015
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -265,6 +265,14 @@ int __init bcm63xx_enet_register(int unit,
		dpd->dma_chan_width = ENETDMA_CHAN_WIDTH;
	}

	if (unit == 0) {
		dpd->rx_chan = 0;
		dpd->tx_chan = 1;
	} else {
		dpd->rx_chan = 2;
		dpd->tx_chan = 3;
	}

	ret = platform_device_register(pdev);
	if (ret)
		return ret;
+4 −0
Original line number Diff line number Diff line
@@ -55,6 +55,10 @@ struct bcm63xx_enet_platform_data {

	/* DMA descriptor shift */
	unsigned int dma_desc_shift;

	/* dma channel ids */
	int rx_chan;
	int tx_chan;
};

/*
+2 −9
Original line number Diff line number Diff line
@@ -1752,15 +1752,6 @@ static int bcm_enet_probe(struct platform_device *pdev)
	priv->irq_tx = res_irq_tx->start;
	priv->mac_id = pdev->id;

	/* get rx & tx dma channel id for this mac */
	if (priv->mac_id == 0) {
		priv->rx_chan = 0;
		priv->tx_chan = 1;
	} else {
		priv->rx_chan = 2;
		priv->tx_chan = 3;
	}

	priv->mac_clk = devm_clk_get(&pdev->dev, "enet");
	if (IS_ERR(priv->mac_clk)) {
		ret = PTR_ERR(priv->mac_clk);
@@ -1792,6 +1783,8 @@ static int bcm_enet_probe(struct platform_device *pdev)
		priv->dma_chan_width = pd->dma_chan_width;
		priv->dma_has_sram = pd->dma_has_sram;
		priv->dma_desc_shift = pd->dma_desc_shift;
		priv->rx_chan = pd->rx_chan;
		priv->tx_chan = pd->tx_chan;
	}

	if (priv->mac_id == 0 && priv->has_phy && !priv->use_external_mii) {