diff options
author | Jonas Bonn <jonas@southpole.se> | 2010-06-11 02:47:34 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-11 13:28:34 -0700 |
commit | c527f81475aaa18123eebe3d72a40a25d8e244af (patch) | |
tree | d71dcb9b809da2e8b3d24ab6e937c5d3e99fae9d /drivers/net | |
parent | 14599f1e341ee219abdd15f4eee5872d6f2d29f1 (diff) |
ethoc: calculate number of buffers in ethoc_probe
This moves the calculation of the number of transmission buffers to
ethoc_probe where it more logically fits with the rest of the memory
allocation code.
Signed-off-by: Jonas Bonn <jonas@southpole.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethoc.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c index 6ed2df14ec8..68093cfa153 100644 --- a/drivers/net/ethoc.c +++ b/drivers/net/ethoc.c @@ -658,8 +658,6 @@ static int ethoc_mdio_probe(struct net_device *dev) static int ethoc_open(struct net_device *dev) { struct ethoc *priv = netdev_priv(dev); - unsigned int min_tx = 2; - unsigned int num_bd; int ret; ret = request_irq(dev->irq, ethoc_interrupt, IRQF_SHARED, @@ -667,11 +665,6 @@ static int ethoc_open(struct net_device *dev) if (ret) return ret; - /* calculate the number of TX/RX buffers, maximum 128 supported */ - num_bd = min_t(unsigned int, - 128, (dev->mem_end - dev->mem_start + 1) / ETHOC_BUFSIZ); - priv->num_tx = max(min_tx, num_bd / 4); - priv->num_rx = num_bd - priv->num_tx; ethoc_write(priv, TX_BD_NUM, priv->num_tx); ethoc_init_ring(priv); @@ -884,6 +877,7 @@ static int ethoc_probe(struct platform_device *pdev) struct resource *mem = NULL; struct ethoc *priv = NULL; unsigned int phy; + int num_bd; int ret = 0; /* allocate networking device */ @@ -978,6 +972,12 @@ static int ethoc_probe(struct platform_device *pdev) priv->dma_alloc = buffer_size; } + /* calculate the number of TX/RX buffers, maximum 128 supported */ + num_bd = min_t(unsigned int, + 128, (netdev->mem_end - netdev->mem_start + 1) / ETHOC_BUFSIZ); + priv->num_tx = max(2, num_bd / 4); + priv->num_rx = num_bd - priv->num_tx; + /* Allow the platform setup code to pass in a MAC address. */ if (pdev->dev.platform_data) { struct ethoc_platform_data *pdata = |