diff options
| author | Patrick McHardy <kaber@trash.net> | 2010-04-20 10:02:01 -0400 |
|---|---|---|
| committer | Patrick McHardy <kaber@trash.net> | 2010-04-20 10:02:01 -0400 |
| commit | 62910554656cdcd6b6f84a5154c4155aae4ca231 (patch) | |
| tree | dcf14004f6fd2ef7154362ff948bfeba0f3ea92d /drivers/net/arm | |
| parent | 22265a5c3c103cf8c50be62e6c90d045eb649e6d (diff) | |
| parent | ab9304717f7624c41927f442e6b6d418b2d8b3e4 (diff) | |
Merge branch 'master' of /repos/git/net-next-2.6
Conflicts:
Documentation/feature-removal-schedule.txt
net/ipv6/netfilter/ip6t_REJECT.c
net/netfilter/xt_limit.c
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'drivers/net/arm')
| -rw-r--r-- | drivers/net/arm/am79c961a.c | 6 | ||||
| -rw-r--r-- | drivers/net/arm/at91_ether.c | 7 | ||||
| -rw-r--r-- | drivers/net/arm/ep93xx_eth.c | 1 | ||||
| -rw-r--r-- | drivers/net/arm/etherh.c | 1 | ||||
| -rw-r--r-- | drivers/net/arm/ixp4xx_eth.c | 9 | ||||
| -rw-r--r-- | drivers/net/arm/ks8695net.c | 35 | ||||
| -rw-r--r-- | drivers/net/arm/w90p910_ether.c | 2 |
7 files changed, 29 insertions, 32 deletions
diff --git a/drivers/net/arm/am79c961a.c b/drivers/net/arm/am79c961a.c index f1f58c5e27bf..a4b5b08276f8 100644 --- a/drivers/net/arm/am79c961a.c +++ b/drivers/net/arm/am79c961a.c | |||
| @@ -383,12 +383,12 @@ static void am79c961_setmulticastlist (struct net_device *dev) | |||
| 383 | } else if (dev->flags & IFF_ALLMULTI) { | 383 | } else if (dev->flags & IFF_ALLMULTI) { |
| 384 | memset(multi_hash, 0xff, sizeof(multi_hash)); | 384 | memset(multi_hash, 0xff, sizeof(multi_hash)); |
| 385 | } else { | 385 | } else { |
| 386 | struct dev_mc_list *dmi; | 386 | struct netdev_hw_addr *ha; |
| 387 | 387 | ||
| 388 | memset(multi_hash, 0x00, sizeof(multi_hash)); | 388 | memset(multi_hash, 0x00, sizeof(multi_hash)); |
| 389 | 389 | ||
| 390 | netdev_for_each_mc_addr(dmi, dev) | 390 | netdev_for_each_mc_addr(ha, dev) |
| 391 | am79c961_mc_hash(dmi->dmi_addr, multi_hash); | 391 | am79c961_mc_hash(ha->addr, multi_hash); |
| 392 | } | 392 | } |
| 393 | 393 | ||
| 394 | spin_lock_irqsave(&priv->chip_lock, flags); | 394 | spin_lock_irqsave(&priv->chip_lock, flags); |
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c index 8b23d5a175bf..0adab30f626b 100644 --- a/drivers/net/arm/at91_ether.c +++ b/drivers/net/arm/at91_ether.c | |||
| @@ -27,6 +27,7 @@ | |||
| 27 | #include <linux/ethtool.h> | 27 | #include <linux/ethtool.h> |
| 28 | #include <linux/platform_device.h> | 28 | #include <linux/platform_device.h> |
| 29 | #include <linux/clk.h> | 29 | #include <linux/clk.h> |
| 30 | #include <linux/gfp.h> | ||
| 30 | 31 | ||
| 31 | #include <asm/io.h> | 32 | #include <asm/io.h> |
| 32 | #include <asm/uaccess.h> | 33 | #include <asm/uaccess.h> |
| @@ -556,14 +557,14 @@ static int hash_get_index(__u8 *addr) | |||
| 556 | */ | 557 | */ |
| 557 | static void at91ether_sethashtable(struct net_device *dev) | 558 | static void at91ether_sethashtable(struct net_device *dev) |
| 558 | { | 559 | { |
| 559 | struct dev_mc_list *curr; | 560 | struct netdev_hw_addr *ha; |
| 560 | unsigned long mc_filter[2]; | 561 | unsigned long mc_filter[2]; |
| 561 | unsigned int bitnr; | 562 | unsigned int bitnr; |
| 562 | 563 | ||
| 563 | mc_filter[0] = mc_filter[1] = 0; | 564 | mc_filter[0] = mc_filter[1] = 0; |
| 564 | 565 | ||
| 565 | netdev_for_each_mc_addr(curr, dev) { | 566 | netdev_for_each_mc_addr(ha, dev) { |
| 566 | bitnr = hash_get_index(curr->dmi_addr); | 567 | bitnr = hash_get_index(ha->addr); |
| 567 | mc_filter[bitnr >> 5] |= 1 << (bitnr & 31); | 568 | mc_filter[bitnr >> 5] |= 1 << (bitnr & 31); |
| 568 | } | 569 | } |
| 569 | 570 | ||
diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c index bf72d57a0afd..6995169d285a 100644 --- a/drivers/net/arm/ep93xx_eth.c +++ b/drivers/net/arm/ep93xx_eth.c | |||
| @@ -23,6 +23,7 @@ | |||
| 23 | #include <linux/platform_device.h> | 23 | #include <linux/platform_device.h> |
| 24 | #include <linux/delay.h> | 24 | #include <linux/delay.h> |
| 25 | #include <linux/io.h> | 25 | #include <linux/io.h> |
| 26 | #include <linux/slab.h> | ||
| 26 | 27 | ||
| 27 | #include <mach/hardware.h> | 28 | #include <mach/hardware.h> |
| 28 | 29 | ||
diff --git a/drivers/net/arm/etherh.c b/drivers/net/arm/etherh.c index f52f668c49bf..4af235d41fda 100644 --- a/drivers/net/arm/etherh.c +++ b/drivers/net/arm/etherh.c | |||
| @@ -33,7 +33,6 @@ | |||
| 33 | #include <linux/interrupt.h> | 33 | #include <linux/interrupt.h> |
| 34 | #include <linux/ioport.h> | 34 | #include <linux/ioport.h> |
| 35 | #include <linux/in.h> | 35 | #include <linux/in.h> |
| 36 | #include <linux/slab.h> | ||
| 37 | #include <linux/string.h> | 36 | #include <linux/string.h> |
| 38 | #include <linux/errno.h> | 37 | #include <linux/errno.h> |
| 39 | #include <linux/netdevice.h> | 38 | #include <linux/netdevice.h> |
diff --git a/drivers/net/arm/ixp4xx_eth.c b/drivers/net/arm/ixp4xx_eth.c index 6e2ae1d06df1..7800d7dfd299 100644 --- a/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | #include <linux/kernel.h> | 32 | #include <linux/kernel.h> |
| 33 | #include <linux/phy.h> | 33 | #include <linux/phy.h> |
| 34 | #include <linux/platform_device.h> | 34 | #include <linux/platform_device.h> |
| 35 | #include <linux/slab.h> | ||
| 35 | #include <mach/npe.h> | 36 | #include <mach/npe.h> |
| 36 | #include <mach/qmgr.h> | 37 | #include <mach/qmgr.h> |
| 37 | 38 | ||
| @@ -735,7 +736,7 @@ static int eth_xmit(struct sk_buff *skb, struct net_device *dev) | |||
| 735 | static void eth_set_mcast_list(struct net_device *dev) | 736 | static void eth_set_mcast_list(struct net_device *dev) |
| 736 | { | 737 | { |
| 737 | struct port *port = netdev_priv(dev); | 738 | struct port *port = netdev_priv(dev); |
| 738 | struct dev_mc_list *mclist; | 739 | struct netdev_hw_addr *ha; |
| 739 | u8 diffs[ETH_ALEN], *addr; | 740 | u8 diffs[ETH_ALEN], *addr; |
| 740 | int i; | 741 | int i; |
| 741 | 742 | ||
| @@ -748,11 +749,11 @@ static void eth_set_mcast_list(struct net_device *dev) | |||
| 748 | memset(diffs, 0, ETH_ALEN); | 749 | memset(diffs, 0, ETH_ALEN); |
| 749 | 750 | ||
| 750 | addr = NULL; | 751 | addr = NULL; |
| 751 | netdev_for_each_mc_addr(mclist, dev) { | 752 | netdev_for_each_mc_addr(ha, dev) { |
| 752 | if (!addr) | 753 | if (!addr) |
| 753 | addr = mclist->dmi_addr; /* first MAC address */ | 754 | addr = ha->addr; /* first MAC address */ |
| 754 | for (i = 0; i < ETH_ALEN; i++) | 755 | for (i = 0; i < ETH_ALEN; i++) |
| 755 | diffs[i] |= addr[i] ^ mclist->dmi_addr[i]; | 756 | diffs[i] |= addr[i] ^ ha->addr[i]; |
| 756 | } | 757 | } |
| 757 | 758 | ||
| 758 | for (i = 0; i < ETH_ALEN; i++) { | 759 | for (i = 0; i < ETH_ALEN; i++) { |
diff --git a/drivers/net/arm/ks8695net.c b/drivers/net/arm/ks8695net.c index a1d4188c430b..7413a87e40ff 100644 --- a/drivers/net/arm/ks8695net.c +++ b/drivers/net/arm/ks8695net.c | |||
| @@ -30,6 +30,7 @@ | |||
| 30 | #include <linux/platform_device.h> | 30 | #include <linux/platform_device.h> |
| 31 | #include <linux/irq.h> | 31 | #include <linux/irq.h> |
| 32 | #include <linux/io.h> | 32 | #include <linux/io.h> |
| 33 | #include <linux/slab.h> | ||
| 33 | 34 | ||
| 34 | #include <asm/irq.h> | 35 | #include <asm/irq.h> |
| 35 | 36 | ||
| @@ -331,16 +332,16 @@ ks8695_init_partial_multicast(struct ks8695_priv *ksp, | |||
| 331 | { | 332 | { |
| 332 | u32 low, high; | 333 | u32 low, high; |
| 333 | int i; | 334 | int i; |
| 334 | struct dev_mc_list *dmi; | 335 | struct netdev_hw_addr *ha; |
| 335 | 336 | ||
| 336 | i = 0; | 337 | i = 0; |
| 337 | netdev_for_each_mc_addr(dmi, ndev) { | 338 | netdev_for_each_mc_addr(ha, ndev) { |
| 338 | /* Ran out of space in chip? */ | 339 | /* Ran out of space in chip? */ |
| 339 | BUG_ON(i == KS8695_NR_ADDRESSES); | 340 | BUG_ON(i == KS8695_NR_ADDRESSES); |
| 340 | 341 | ||
| 341 | low = (dmi->dmi_addr[2] << 24) | (dmi->dmi_addr[3] << 16) | | 342 | low = (ha->addr[2] << 24) | (ha->addr[3] << 16) | |
| 342 | (dmi->dmi_addr[4] << 8) | (dmi->dmi_addr[5]); | 343 | (ha->addr[4] << 8) | (ha->addr[5]); |
| 343 | high = (dmi->dmi_addr[0] << 8) | (dmi->dmi_addr[1]); | 344 | high = (ha->addr[0] << 8) | (ha->addr[1]); |
| 344 | 345 | ||
| 345 | ks8695_writereg(ksp, KS8695_AAL_(i), low); | 346 | ks8695_writereg(ksp, KS8695_AAL_(i), low); |
| 346 | ks8695_writereg(ksp, KS8695_AAH_(i), AAH_E | high); | 347 | ks8695_writereg(ksp, KS8695_AAH_(i), AAH_E | high); |
| @@ -449,11 +450,10 @@ ks8695_rx_irq(int irq, void *dev_id) | |||
| 449 | } | 450 | } |
| 450 | 451 | ||
| 451 | /** | 452 | /** |
| 452 | * ks8695_rx - Receive packets called by NAPI poll method | 453 | * ks8695_rx - Receive packets called by NAPI poll method |
| 453 | * @ksp: Private data for the KS8695 Ethernet | 454 | * @ksp: Private data for the KS8695 Ethernet |
| 454 | * @budget: The max packets would be receive | 455 | * @budget: Number of packets allowed to process |
| 455 | */ | 456 | */ |
| 456 | |||
| 457 | static int ks8695_rx(struct ks8695_priv *ksp, int budget) | 457 | static int ks8695_rx(struct ks8695_priv *ksp, int budget) |
| 458 | { | 458 | { |
| 459 | struct net_device *ndev = ksp->ndev; | 459 | struct net_device *ndev = ksp->ndev; |
| @@ -461,7 +461,6 @@ static int ks8695_rx(struct ks8695_priv *ksp, int budget) | |||
| 461 | int buff_n; | 461 | int buff_n; |
| 462 | u32 flags; | 462 | u32 flags; |
| 463 | int pktlen; | 463 | int pktlen; |
| 464 | int last_rx_processed = -1; | ||
| 465 | int received = 0; | 464 | int received = 0; |
| 466 | 465 | ||
| 467 | buff_n = ksp->next_rx_desc_read; | 466 | buff_n = ksp->next_rx_desc_read; |
| @@ -471,6 +470,7 @@ static int ks8695_rx(struct ks8695_priv *ksp, int budget) | |||
| 471 | cpu_to_le32(RDES_OWN)))) { | 470 | cpu_to_le32(RDES_OWN)))) { |
| 472 | rmb(); | 471 | rmb(); |
| 473 | flags = le32_to_cpu(ksp->rx_ring[buff_n].status); | 472 | flags = le32_to_cpu(ksp->rx_ring[buff_n].status); |
| 473 | |||
| 474 | /* Found an SKB which we own, this means we | 474 | /* Found an SKB which we own, this means we |
| 475 | * received a packet | 475 | * received a packet |
| 476 | */ | 476 | */ |
| @@ -533,23 +533,18 @@ rx_failure: | |||
| 533 | ksp->rx_ring[buff_n].status = cpu_to_le32(RDES_OWN); | 533 | ksp->rx_ring[buff_n].status = cpu_to_le32(RDES_OWN); |
| 534 | rx_finished: | 534 | rx_finished: |
| 535 | received++; | 535 | received++; |
| 536 | /* And note this as processed so we can start | ||
| 537 | * from here next time | ||
| 538 | */ | ||
| 539 | last_rx_processed = buff_n; | ||
| 540 | buff_n = (buff_n + 1) & MAX_RX_DESC_MASK; | 536 | buff_n = (buff_n + 1) & MAX_RX_DESC_MASK; |
| 541 | /*And note which RX descriptor we last did */ | ||
| 542 | if (likely(last_rx_processed != -1)) | ||
| 543 | ksp->next_rx_desc_read = | ||
| 544 | (last_rx_processed + 1) & | ||
| 545 | MAX_RX_DESC_MASK; | ||
| 546 | } | 537 | } |
| 538 | |||
| 539 | /* And note which RX descriptor we last did */ | ||
| 540 | ksp->next_rx_desc_read = buff_n; | ||
| 541 | |||
| 547 | /* And refill the buffers */ | 542 | /* And refill the buffers */ |
| 548 | ks8695_refill_rxbuffers(ksp); | 543 | ks8695_refill_rxbuffers(ksp); |
| 549 | 544 | ||
| 550 | /* Kick the RX DMA engine, in case it became | 545 | /* Kick the RX DMA engine, in case it became suspended */ |
| 551 | * suspended */ | ||
| 552 | ks8695_writereg(ksp, KS8695_DRSC, 0); | 546 | ks8695_writereg(ksp, KS8695_DRSC, 0); |
| 547 | |||
| 553 | return received; | 548 | return received; |
| 554 | } | 549 | } |
| 555 | 550 | ||
diff --git a/drivers/net/arm/w90p910_ether.c b/drivers/net/arm/w90p910_ether.c index febd813c916d..2491934b73e8 100644 --- a/drivers/net/arm/w90p910_ether.c +++ b/drivers/net/arm/w90p910_ether.c | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | #include <linux/ethtool.h> | 18 | #include <linux/ethtool.h> |
| 19 | #include <linux/platform_device.h> | 19 | #include <linux/platform_device.h> |
| 20 | #include <linux/clk.h> | 20 | #include <linux/clk.h> |
| 21 | #include <linux/gfp.h> | ||
| 21 | 22 | ||
| 22 | #define DRV_MODULE_NAME "w90p910-emc" | 23 | #define DRV_MODULE_NAME "w90p910-emc" |
| 23 | #define DRV_MODULE_VERSION "0.1" | 24 | #define DRV_MODULE_VERSION "0.1" |
| @@ -743,7 +744,6 @@ static void netdev_rx(struct net_device *dev) | |||
| 743 | return; | 744 | return; |
| 744 | } | 745 | } |
| 745 | 746 | ||
| 746 | skb->dev = dev; | ||
| 747 | skb_reserve(skb, 2); | 747 | skb_reserve(skb, 2); |
| 748 | skb_put(skb, length); | 748 | skb_put(skb, length); |
| 749 | skb_copy_to_linear_data(skb, data, length); | 749 | skb_copy_to_linear_data(skb, data, length); |
