net: introduce netdev_alloc_pcpu_stats() for drivers
There are many drivers calling alloc_percpu() to allocate pcpu stats and then initializing ->syncp. So just introduce a helper function for them. Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
ed1acc8cd8
commit
1c213bd24a
@@ -2784,7 +2784,6 @@ static int mvneta_probe(struct platform_device *pdev)
|
||||
const char *mac_from;
|
||||
int phy_mode;
|
||||
int err;
|
||||
int cpu;
|
||||
|
||||
/* Our multiqueue support is not complete, so for now, only
|
||||
* allow the usage of the first RX queue
|
||||
@@ -2845,18 +2844,12 @@ static int mvneta_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
/* Alloc per-cpu stats */
|
||||
pp->stats = alloc_percpu(struct mvneta_pcpu_stats);
|
||||
pp->stats = netdev_alloc_pcpu_stats(struct mvneta_pcpu_stats);
|
||||
if (!pp->stats) {
|
||||
err = -ENOMEM;
|
||||
goto err_unmap;
|
||||
}
|
||||
|
||||
for_each_possible_cpu(cpu) {
|
||||
struct mvneta_pcpu_stats *stats;
|
||||
stats = per_cpu_ptr(pp->stats, cpu);
|
||||
u64_stats_init(&stats->syncp);
|
||||
}
|
||||
|
||||
dt_mac_addr = of_get_mac_address(dn);
|
||||
if (dt_mac_addr) {
|
||||
mac_from = "device tree";
|
||||
|
Reference in New Issue
Block a user