Support duo4k.
[vuplus_openvuplus_3.0] / meta-bsp / recipes-kernel / linux / linux-vuplus-4.1.45 / bcmsysport_4_1_45.patch
1 diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c
2 index 6fc9b29..0aec0c5 100644
3 --- a/drivers/net/ethernet/broadcom/bcmsysport.c
4 +++ b/drivers/net/ethernet/broadcom/bcmsysport.c
5 @@ -2146,7 +2146,7 @@ static int bcm_sysport_probe(struct platform_device *pdev)
6         if (!txq || txq > TDMA_NUM_RINGS)
7                 return -EINVAL;
8  
9 -       dev = alloc_etherdev_mqs(sizeof(*priv), txq, rxq);
10 +       dev = alloc_etherdev_mqs_sys(sizeof(*priv), txq, rxq);
11         if (!dev)
12                 return -ENOMEM;
13  
14 diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h
15 index 606563e..6871f20 100644
16 --- a/include/linux/etherdevice.h
17 +++ b/include/linux/etherdevice.h
18 @@ -48,6 +48,8 @@ int eth_validate_addr(struct net_device *dev);
19  
20  struct net_device *alloc_etherdev_mqs(int sizeof_priv, unsigned int txqs,
21                                             unsigned int rxqs);
22 +struct net_device *alloc_etherdev_mqs_sys(int sizeof_priv, unsigned int txqs,
23 +                                           unsigned int rxqs);
24  #define alloc_etherdev(sizeof_priv) alloc_etherdev_mq(sizeof_priv, 1)
25  #define alloc_etherdev_mq(sizeof_priv, count) alloc_etherdev_mqs(sizeof_priv, count, count)
26  
27 diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
28 index 76f8389..43c8b72 100644
29 --- a/net/ethernet/eth.c
30 +++ b/net/ethernet/eth.c
31 @@ -385,6 +385,14 @@ struct net_device *alloc_etherdev_mqs(int sizeof_priv, unsigned int txqs,
32  }
33  EXPORT_SYMBOL(alloc_etherdev_mqs);
34  
35 +struct net_device *alloc_etherdev_mqs_sys(int sizeof_priv, unsigned int txqs,
36 +                                     unsigned int rxqs)
37 +{
38 +       return alloc_netdev_mqs(sizeof_priv, "sys%d", NET_NAME_UNKNOWN,
39 +                               ether_setup, txqs, rxqs);
40 +}
41 +EXPORT_SYMBOL(alloc_etherdev_mqs_sys);
42 +
43  ssize_t sysfs_format_mac(char *buf, const unsigned char *addr, int len)
44  {
45         return scnprintf(buf, PAGE_SIZE, "%*phC\n", len, addr);