diff options
| author | Tom Herbert <therbert@google.com> | 2011-01-09 14:36:31 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2011-01-10 19:05:30 -0500 |
| commit | 36909ea43814cba34f7c921e99cba33d770a54e1 (patch) | |
| tree | 294b44411dc7939e152aa1002f9f5fe9868751f6 /net/ethernet | |
| parent | 91b5c98c2e062f982423686c77b8bf31f37fa196 (diff) | |
net: Add alloc_netdev_mqs function
Added alloc_netdev_mqs function which allows the number of transmit and
receive queues to be specified independenty. alloc_netdev_mq was
changed to a macro to call the new function. Also added
alloc_etherdev_mqs with same purpose.
Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ethernet')
| -rw-r--r-- | net/ethernet/eth.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c index f00ef2f1d81..f9d7ac924f1 100644 --- a/net/ethernet/eth.c +++ b/net/ethernet/eth.c | |||
| @@ -347,10 +347,11 @@ void ether_setup(struct net_device *dev) | |||
| 347 | EXPORT_SYMBOL(ether_setup); | 347 | EXPORT_SYMBOL(ether_setup); |
| 348 | 348 | ||
| 349 | /** | 349 | /** |
| 350 | * alloc_etherdev_mq - Allocates and sets up an Ethernet device | 350 | * alloc_etherdev_mqs - Allocates and sets up an Ethernet device |
| 351 | * @sizeof_priv: Size of additional driver-private structure to be allocated | 351 | * @sizeof_priv: Size of additional driver-private structure to be allocated |
| 352 | * for this Ethernet device | 352 | * for this Ethernet device |
| 353 | * @queue_count: The number of queues this device has. | 353 | * @txqs: The number of TX queues this device has. |
| 354 | * @txqs: The number of RX queues this device has. | ||
| 354 | * | 355 | * |
| 355 | * Fill in the fields of the device structure with Ethernet-generic | 356 | * Fill in the fields of the device structure with Ethernet-generic |
| 356 | * values. Basically does everything except registering the device. | 357 | * values. Basically does everything except registering the device. |
| @@ -360,11 +361,12 @@ EXPORT_SYMBOL(ether_setup); | |||
| 360 | * this private data area. | 361 | * this private data area. |
| 361 | */ | 362 | */ |
| 362 | 363 | ||
| 363 | struct net_device *alloc_etherdev_mq(int sizeof_priv, unsigned int queue_count) | 364 | struct net_device *alloc_etherdev_mqs(int sizeof_priv, unsigned int txqs, |
| 365 | unsigned int rxqs) | ||
| 364 | { | 366 | { |
| 365 | return alloc_netdev_mq(sizeof_priv, "eth%d", ether_setup, queue_count); | 367 | return alloc_netdev_mqs(sizeof_priv, "eth%d", ether_setup, txqs, rxqs); |
| 366 | } | 368 | } |
| 367 | EXPORT_SYMBOL(alloc_etherdev_mq); | 369 | EXPORT_SYMBOL(alloc_etherdev_mqs); |
| 368 | 370 | ||
| 369 | static size_t _format_mac_addr(char *buf, int buflen, | 371 | static size_t _format_mac_addr(char *buf, int buflen, |
| 370 | const unsigned char *addr, int len) | 372 | const unsigned char *addr, int len) |
