4fa29b29098d0575951a71aff1f3753a3c8cb3c8
[openwrt/openwrt.git] / target / linux / layerscape / patches-4.9 / 706-fsl-dpaa-use-4-9-ndo-get-stats64.patch
1 From: Mathew McBride <matt@traverse.com.au>
2 Date: Tue, 24 Oct 2017 11:30:00 +1100
3 Subject: [PATCH] dpaa: backport use of 4.9 ndo_get_stats64
4
5 This patch changes the declarations of ndo_get_stats64 handlers
6 to the previous struct rtnl_link_stats64 * return type instead of
7 the mainline void return.
8
9 Suggested-by: Adrien Gallouët <adrien@gallouet.fr>
10 Signed-off-by: Mathew McBride <matt@traverse.com.au>
11
12 ---
13 drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.c | 5 +++--
14 drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.h | 4 ++--
15 drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c | 3 ++-
16 drivers/staging/fsl-dpaa2/ethsw/switch.c | 4 ++--
17 drivers/staging/fsl-dpaa2/evb/evb.c | 4 ++--
18 5 files changed, 11 insertions(+), 9 deletions(-)
19
20 --- a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
21 +++ b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c
22 @@ -1296,7 +1296,7 @@ static int dpaa2_eth_set_addr(struct net
23 /** Fill in counters maintained by the GPP driver. These may be different from
24 * the hardware counters obtained by ethtool.
25 */
26 -static void dpaa2_eth_get_stats(struct net_device *net_dev,
27 +static struct rtnl_link_stats64 *dpaa2_eth_get_stats(struct net_device *net_dev,
28 struct rtnl_link_stats64 *stats)
29 {
30 struct dpaa2_eth_priv *priv = netdev_priv(net_dev);
31 @@ -1312,6 +1312,7 @@ static void dpaa2_eth_get_stats(struct n
32 for (j = 0; j < num; j++)
33 netstats[j] += cpustats[j];
34 }
35 + return stats;
36 }
37
38 static int dpaa2_eth_change_mtu(struct net_device *net_dev, int mtu)
39 --- a/drivers/staging/fsl-dpaa2/ethsw/switch.c
40 +++ b/drivers/staging/fsl-dpaa2/ethsw/switch.c
41 @@ -1094,7 +1094,7 @@ static int ethsw_port_fdb_del(struct ndm
42 return 0;
43 }
44
45 -void ethsw_port_get_stats(struct net_device *netdev,
46 +struct rtnl_link_stats64 *ethsw_port_get_stats(struct net_device *netdev,
47 struct rtnl_link_stats64 *storage)
48 {
49 struct ethsw_port_priv *port_priv = netdev_priv(netdev);
50 @@ -1154,7 +1154,7 @@ void ethsw_port_get_stats(struct net_dev
51 if (err)
52 goto error;
53
54 - return;
55 + return storage;
56
57 error:
58 netdev_err(netdev, "dpsw_if_get_counter err %d\n", err);
59 --- a/drivers/staging/fsl-dpaa2/evb/evb.c
60 +++ b/drivers/staging/fsl-dpaa2/evb/evb.c
61 @@ -765,7 +765,7 @@ static int evb_dellink(struct net_device
62 return 0;
63 }
64
65 -void evb_port_get_stats(struct net_device *netdev,
66 +struct rtnl_link_stats64 *evb_port_get_stats(struct net_device *netdev,
67 struct rtnl_link_stats64 *storage)
68 {
69 struct evb_port_priv *port_priv = netdev_priv(netdev);
70 @@ -842,7 +842,7 @@ void evb_port_get_stats(struct net_devic
71 if (unlikely(err))
72 goto error;
73
74 - return;
75 + return storage;
76
77 error:
78 netdev_err(netdev, "dpdmux_if_get_counter err %d\n", err);
79 --- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.c
80 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.c
81 @@ -239,8 +239,8 @@ EXPORT_SYMBOL(dpa_timeout);
82 * Calculates the statistics for the given device by adding the statistics
83 * collected by each CPU.
84 */
85 -void __cold
86 -dpa_get_stats64(struct net_device *net_dev,
87 +struct rtnl_link_stats64 __cold
88 +*dpa_get_stats64(struct net_device *net_dev,
89 struct rtnl_link_stats64 *stats)
90 {
91 struct dpa_priv_s *priv = netdev_priv(net_dev);
92 @@ -258,6 +258,7 @@ dpa_get_stats64(struct net_device *net_d
93 for (j = 0; j < numstats; j++)
94 netstats[j] += cpustats[j];
95 }
96 + return stats;
97 }
98 EXPORT_SYMBOL(dpa_get_stats64);
99
100 --- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.h
101 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.h
102 @@ -140,8 +140,8 @@ int dpa_netdev_init(struct net_device *n
103 int __cold dpa_start(struct net_device *net_dev);
104 int __cold dpa_stop(struct net_device *net_dev);
105 void __cold dpa_timeout(struct net_device *net_dev);
106 -void __cold
107 -dpa_get_stats64(struct net_device *net_dev,
108 +struct rtnl_link_stats64 __cold
109 +*dpa_get_stats64(struct net_device *net_dev,
110 struct rtnl_link_stats64 *stats);
111 int dpa_change_mtu(struct net_device *net_dev, int new_mtu);
112 int dpa_ndo_init(struct net_device *net_dev);