Symbol: devlink_rate
drivers/net/ethernet/intel/ice/devlink/devlink.c
1023
static int ice_devlink_rate_leaf_tx_max_set(struct devlink_rate *rate_leaf, void *priv,
drivers/net/ethernet/intel/ice/devlink/devlink.c
1038
static int ice_devlink_rate_leaf_tx_share_set(struct devlink_rate *rate_leaf, void *priv,
drivers/net/ethernet/intel/ice/devlink/devlink.c
1053
static int ice_devlink_rate_leaf_tx_priority_set(struct devlink_rate *rate_leaf, void *priv,
drivers/net/ethernet/intel/ice/devlink/devlink.c
1068
static int ice_devlink_rate_leaf_tx_weight_set(struct devlink_rate *rate_leaf, void *priv,
drivers/net/ethernet/intel/ice/devlink/devlink.c
1083
static int ice_devlink_rate_node_tx_max_set(struct devlink_rate *rate_node, void *priv,
drivers/net/ethernet/intel/ice/devlink/devlink.c
1098
static int ice_devlink_rate_node_tx_share_set(struct devlink_rate *rate_node, void *priv,
drivers/net/ethernet/intel/ice/devlink/devlink.c
1113
static int ice_devlink_rate_node_tx_priority_set(struct devlink_rate *rate_node, void *priv,
drivers/net/ethernet/intel/ice/devlink/devlink.c
1128
static int ice_devlink_rate_node_tx_weight_set(struct devlink_rate *rate_node, void *priv,
drivers/net/ethernet/intel/ice/devlink/devlink.c
1143
static int ice_devlink_set_parent(struct devlink_rate *devlink_rate,
drivers/net/ethernet/intel/ice/devlink/devlink.c
1144
struct devlink_rate *parent,
drivers/net/ethernet/intel/ice/devlink/devlink.c
1148
struct ice_port_info *pi = ice_get_pi_from_dev_rate(devlink_rate);
drivers/net/ethernet/intel/ice/devlink/devlink.c
1161
if (!ice_enable_custom_tx(devlink_priv(devlink_rate->devlink)))
drivers/net/ethernet/intel/ice/devlink/devlink.c
1191
if (devlink_rate->tx_share)
drivers/net/ethernet/intel/ice/devlink/devlink.c
1192
ice_set_object_tx_share(pi, node, devlink_rate->tx_share, extack);
drivers/net/ethernet/intel/ice/devlink/devlink.c
1193
if (devlink_rate->tx_max)
drivers/net/ethernet/intel/ice/devlink/devlink.c
1194
ice_set_object_tx_max(pi, node, devlink_rate->tx_max, extack);
drivers/net/ethernet/intel/ice/devlink/devlink.c
1195
if (devlink_rate->tx_priority)
drivers/net/ethernet/intel/ice/devlink/devlink.c
1196
ice_set_object_tx_priority(pi, node, devlink_rate->tx_priority, extack);
drivers/net/ethernet/intel/ice/devlink/devlink.c
1197
if (devlink_rate->tx_weight)
drivers/net/ethernet/intel/ice/devlink/devlink.c
1198
ice_set_object_tx_weight(pi, node, devlink_rate->tx_weight, extack);
drivers/net/ethernet/intel/ice/devlink/devlink.c
703
if (vf->devlink_port.devlink_rate)
drivers/net/ethernet/intel/ice/devlink/devlink.c
756
struct devlink_rate *rate_node = NULL;
drivers/net/ethernet/intel/ice/devlink/devlink.c
772
if (!vf->devlink_port.devlink_rate)
drivers/net/ethernet/intel/ice/devlink/devlink.c
782
if (!sf->devlink_port.devlink_rate)
drivers/net/ethernet/intel/ice/devlink/devlink.c
968
static struct ice_port_info *ice_get_pi_from_dev_rate(struct devlink_rate *rate_node)
drivers/net/ethernet/intel/ice/devlink/devlink.c
975
static int ice_devlink_rate_node_new(struct devlink_rate *rate_node, void **priv,
drivers/net/ethernet/intel/ice/devlink/devlink.c
996
static int ice_devlink_rate_node_del(struct devlink_rate *rate_node, void *priv,
drivers/net/ethernet/intel/ice/ice_type.h
580
struct devlink_rate *rate_node;
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1680
int mlx5_esw_devlink_rate_leaf_tx_share_set(struct devlink_rate *rate_leaf, void *priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1705
int mlx5_esw_devlink_rate_leaf_tx_max_set(struct devlink_rate *rate_leaf, void *priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1730
int mlx5_esw_devlink_rate_leaf_tc_bw_set(struct devlink_rate *rate_leaf,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1784
int mlx5_esw_devlink_rate_node_tc_bw_set(struct devlink_rate *rate_node,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1815
int mlx5_esw_devlink_rate_node_tx_share_set(struct devlink_rate *rate_node, void *priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1832
int mlx5_esw_devlink_rate_node_tx_max_set(struct devlink_rate *rate_node, void *priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1849
int mlx5_esw_devlink_rate_node_new(struct devlink_rate *rate_node, void **priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1880
int mlx5_esw_devlink_rate_node_del(struct devlink_rate *rate_node, void *priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1919
int mlx5_esw_devlink_rate_leaf_parent_set(struct devlink_rate *devlink_rate,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
1920
struct devlink_rate *parent,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
2089
int mlx5_esw_devlink_rate_node_parent_set(struct devlink_rate *devlink_rate,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c
2090
struct devlink_rate *parent,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
20
int mlx5_esw_devlink_rate_leaf_tx_share_set(struct devlink_rate *rate_leaf, void *priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
22
int mlx5_esw_devlink_rate_leaf_tx_max_set(struct devlink_rate *rate_leaf, void *priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
24
int mlx5_esw_devlink_rate_leaf_tc_bw_set(struct devlink_rate *rate_node,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
28
int mlx5_esw_devlink_rate_node_tc_bw_set(struct devlink_rate *rate_node,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
32
int mlx5_esw_devlink_rate_node_tx_share_set(struct devlink_rate *rate_node, void *priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
34
int mlx5_esw_devlink_rate_node_tx_max_set(struct devlink_rate *rate_node, void *priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
36
int mlx5_esw_devlink_rate_node_new(struct devlink_rate *rate_node, void **priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
38
int mlx5_esw_devlink_rate_node_del(struct devlink_rate *rate_node, void *priv,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
40
int mlx5_esw_devlink_rate_leaf_parent_set(struct devlink_rate *devlink_rate,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
41
struct devlink_rate *parent,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
44
int mlx5_esw_devlink_rate_node_parent_set(struct devlink_rate *devlink_rate,
drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h
45
struct devlink_rate *parent,
drivers/net/netdevsim/dev.c
1245
static int nsim_leaf_tc_bw_set(struct devlink_rate *devlink_rate,
drivers/net/netdevsim/dev.c
1258
static int nsim_leaf_tx_share_set(struct devlink_rate *devlink_rate, void *priv,
drivers/net/netdevsim/dev.c
1274
static int nsim_leaf_tx_max_set(struct devlink_rate *devlink_rate, void *priv,
drivers/net/netdevsim/dev.c
1299
static int nsim_node_tc_bw_set(struct devlink_rate *devlink_rate, void *priv,
drivers/net/netdevsim/dev.c
1311
static int nsim_node_tx_share_set(struct devlink_rate *devlink_rate, void *priv,
drivers/net/netdevsim/dev.c
1325
static int nsim_node_tx_max_set(struct devlink_rate *devlink_rate, void *priv,
drivers/net/netdevsim/dev.c
1339
static int nsim_rate_node_new(struct devlink_rate *node, void **priv,
drivers/net/netdevsim/dev.c
1369
static int nsim_rate_node_del(struct devlink_rate *node, void *priv,
drivers/net/netdevsim/dev.c
1380
static int nsim_rate_leaf_parent_set(struct devlink_rate *child,
drivers/net/netdevsim/dev.c
1381
struct devlink_rate *parent,
drivers/net/netdevsim/dev.c
1394
static int nsim_rate_node_parent_set(struct devlink_rate *child,
drivers/net/netdevsim/dev.c
1395
struct devlink_rate *parent,
include/net/devlink.h
114
struct devlink_rate *parent;
include/net/devlink.h
1554
int (*rate_leaf_tx_share_set)(struct devlink_rate *devlink_rate, void *priv,
include/net/devlink.h
1556
int (*rate_leaf_tx_max_set)(struct devlink_rate *devlink_rate, void *priv,
include/net/devlink.h
1558
int (*rate_leaf_tx_priority_set)(struct devlink_rate *devlink_rate, void *priv,
include/net/devlink.h
1560
int (*rate_leaf_tx_weight_set)(struct devlink_rate *devlink_rate, void *priv,
include/net/devlink.h
1562
int (*rate_leaf_tc_bw_set)(struct devlink_rate *devlink_rate,
include/net/devlink.h
1565
int (*rate_node_tx_share_set)(struct devlink_rate *devlink_rate, void *priv,
include/net/devlink.h
1567
int (*rate_node_tx_max_set)(struct devlink_rate *devlink_rate, void *priv,
include/net/devlink.h
1569
int (*rate_node_tx_priority_set)(struct devlink_rate *devlink_rate, void *priv,
include/net/devlink.h
1571
int (*rate_node_tx_weight_set)(struct devlink_rate *devlink_rate, void *priv,
include/net/devlink.h
1573
int (*rate_node_tc_bw_set)(struct devlink_rate *devlink_rate,
include/net/devlink.h
1576
int (*rate_node_new)(struct devlink_rate *rate_node, void **priv,
include/net/devlink.h
1578
int (*rate_node_del)(struct devlink_rate *rate_node, void *priv,
include/net/devlink.h
158
struct devlink_rate *devlink_rate;
include/net/devlink.h
1580
int (*rate_leaf_parent_set)(struct devlink_rate *child,
include/net/devlink.h
1581
struct devlink_rate *parent,
include/net/devlink.h
1584
int (*rate_node_parent_set)(struct devlink_rate *child,
include/net/devlink.h
1585
struct devlink_rate *parent,
include/net/devlink.h
1817
struct devlink_rate *
include/net/devlink.h
1819
struct devlink_rate *parent);
include/net/devlink.h
1822
struct devlink_rate *parent);
net/devlink/devl_internal.h
300
bool devlink_rate_is_node(const struct devlink_rate *devlink_rate);
net/devlink/devl_internal.h
302
bool (*rate_filter)(const struct devlink_rate *),
net/devlink/rate.c
10
devlink_rate_is_leaf(struct devlink_rate *devlink_rate)
net/devlink/rate.c
106
struct devlink_rate *devlink_rate,
net/devlink/rate.c
110
struct devlink *devlink = devlink_rate->devlink;
net/devlink/rate.c
12
return devlink_rate->type == DEVLINK_RATE_TYPE_LEAF;
net/devlink/rate.c
120
if (nla_put_u16(msg, DEVLINK_ATTR_RATE_TYPE, devlink_rate->type))
net/devlink/rate.c
123
if (devlink_rate_is_leaf(devlink_rate)) {
net/devlink/rate.c
125
devlink_rate->devlink_port->index))
net/devlink/rate.c
127
} else if (devlink_rate_is_node(devlink_rate)) {
net/devlink/rate.c
129
devlink_rate->name))
net/devlink/rate.c
134
devlink_rate->tx_share))
net/devlink/rate.c
138
devlink_rate->tx_max))
net/devlink/rate.c
142
devlink_rate->tx_priority))
net/devlink/rate.c
146
devlink_rate->tx_weight))
net/devlink/rate.c
149
if (devlink_rate->parent)
net/devlink/rate.c
15
bool devlink_rate_is_node(const struct devlink_rate *devlink_rate)
net/devlink/rate.c
151
devlink_rate->parent->name))
net/devlink/rate.c
154
if (devlink_rate_put_tc_bws(msg, devlink_rate->tc_bw))
net/devlink/rate.c
165
static void devlink_rate_notify(struct devlink_rate *devlink_rate,
net/devlink/rate.c
168
struct devlink *devlink = devlink_rate->devlink;
net/devlink/rate.c
17
return devlink_rate->type == DEVLINK_RATE_TYPE_NODE;
net/devlink/rate.c
181
err = devlink_nl_rate_fill(msg, devlink_rate, cmd, 0, 0, 0, NULL);
net/devlink/rate.c
192
struct devlink_rate *rate_node;
net/devlink/rate.c
20
static struct devlink_rate *
net/devlink/rate.c
200
struct devlink_rate *rate_node;
net/devlink/rate.c
211
struct devlink_rate *devlink_rate;
net/devlink/rate.c
215
list_for_each_entry(devlink_rate, &devlink->rate_list, list) {
net/devlink/rate.c
223
err = devlink_nl_rate_fill(msg, devlink_rate, cmd, id,
net/devlink/rate.c
23
struct devlink_rate *devlink_rate;
net/devlink/rate.c
243
struct devlink_rate *devlink_rate;
net/devlink/rate.c
247
devlink_rate = devlink_rate_get_from_info(devlink, info);
net/devlink/rate.c
248
if (IS_ERR(devlink_rate))
net/devlink/rate.c
249
return PTR_ERR(devlink_rate);
net/devlink/rate.c
255
err = devlink_nl_rate_fill(msg, devlink_rate, DEVLINK_CMD_RATE_NEW,
net/devlink/rate.c
267
devlink_rate_is_parent_node(struct devlink_rate *devlink_rate,
net/devlink/rate.c
268
struct devlink_rate *parent)
net/devlink/rate.c
271
if (parent == devlink_rate)
net/devlink/rate.c
279
devlink_nl_rate_parent_node_set(struct devlink_rate *devlink_rate,
net/devlink/rate.c
283
struct devlink *devlink = devlink_rate->devlink;
net/devlink/rate.c
287
struct devlink_rate *parent;
net/devlink/rate.c
29
devlink_rate = devlink_port->devlink_rate;
net/devlink/rate.c
290
parent = devlink_rate->parent;
net/devlink/rate.c
293
if (devlink_rate_is_leaf(devlink_rate))
net/devlink/rate.c
294
err = ops->rate_leaf_parent_set(devlink_rate, NULL,
net/devlink/rate.c
295
devlink_rate->priv, NULL,
net/devlink/rate.c
297
else if (devlink_rate_is_node(devlink_rate))
net/devlink/rate.c
298
err = ops->rate_node_parent_set(devlink_rate, NULL,
net/devlink/rate.c
299
devlink_rate->priv, NULL,
net/devlink/rate.c
30
return devlink_rate ?: ERR_PTR(-ENODEV);
net/devlink/rate.c
305
devlink_rate->parent = NULL;
net/devlink/rate.c
311
if (parent == devlink_rate) {
net/devlink/rate.c
316
if (devlink_rate_is_node(devlink_rate) &&
net/devlink/rate.c
317
devlink_rate_is_parent_node(devlink_rate, parent->parent)) {
net/devlink/rate.c
322
if (devlink_rate_is_leaf(devlink_rate))
net/devlink/rate.c
323
err = ops->rate_leaf_parent_set(devlink_rate, parent,
net/devlink/rate.c
324
devlink_rate->priv, parent->priv,
net/devlink/rate.c
326
else if (devlink_rate_is_node(devlink_rate))
net/devlink/rate.c
327
err = ops->rate_node_parent_set(devlink_rate, parent,
net/devlink/rate.c
328
devlink_rate->priv, parent->priv,
net/devlink/rate.c
33
static struct devlink_rate *
net/devlink/rate.c
333
if (devlink_rate->parent)
net/devlink/rate.c
335
refcount_dec(&devlink_rate->parent->refcnt);
net/devlink/rate.c
338
devlink_rate->parent = parent;
net/devlink/rate.c
36
struct devlink_rate *devlink_rate;
net/devlink/rate.c
38
list_for_each_entry(devlink_rate, &devlink->rate_list, list) {
net/devlink/rate.c
383
static int devlink_nl_rate_tc_bw_set(struct devlink_rate *devlink_rate,
net/devlink/rate.c
387
struct devlink *devlink = devlink_rate->devlink;
net/devlink/rate.c
39
if (devlink_rate_is_node(devlink_rate) &&
net/devlink/rate.c
40
!strcmp(node_name, devlink_rate->name))
net/devlink/rate.c
41
return devlink_rate;
net/devlink/rate.c
410
if (devlink_rate_is_leaf(devlink_rate))
net/devlink/rate.c
411
err = ops->rate_leaf_tc_bw_set(devlink_rate, devlink_rate->priv,
net/devlink/rate.c
413
else if (devlink_rate_is_node(devlink_rate))
net/devlink/rate.c
414
err = ops->rate_node_tc_bw_set(devlink_rate, devlink_rate->priv,
net/devlink/rate.c
420
memcpy(devlink_rate->tc_bw, tc_bw, sizeof(tc_bw));
net/devlink/rate.c
425
static int devlink_nl_rate_set(struct devlink_rate *devlink_rate,
net/devlink/rate.c
437
if (devlink_rate_is_leaf(devlink_rate))
net/devlink/rate.c
438
err = ops->rate_leaf_tx_share_set(devlink_rate, devlink_rate->priv,
net/devlink/rate.c
440
else if (devlink_rate_is_node(devlink_rate))
net/devlink/rate.c
441
err = ops->rate_node_tx_share_set(devlink_rate, devlink_rate->priv,
net/devlink/rate.c
445
devlink_rate->tx_share = rate;
net/devlink/rate.c
450
if (devlink_rate_is_leaf(devlink_rate))
net/devlink/rate.c
451
err = ops->rate_leaf_tx_max_set(devlink_rate, devlink_rate->priv,
net/devlink/rate.c
453
else if (devlink_rate_is_node(devlink_rate))
net/devlink/rate.c
454
err = ops->rate_node_tx_max_set(devlink_rate, devlink_rate->priv,
net/devlink/rate.c
458
devlink_rate->tx_max = rate;
net/devlink/rate.c
46
static struct devlink_rate *
net/devlink/rate.c
463
if (devlink_rate_is_leaf(devlink_rate))
net/devlink/rate.c
464
err = ops->rate_leaf_tx_priority_set(devlink_rate, devlink_rate->priv,
net/devlink/rate.c
466
else if (devlink_rate_is_node(devlink_rate))
net/devlink/rate.c
467
err = ops->rate_node_tx_priority_set(devlink_rate, devlink_rate->priv,
net/devlink/rate.c
472
devlink_rate->tx_priority = priority;
net/devlink/rate.c
477
if (devlink_rate_is_leaf(devlink_rate))
net/devlink/rate.c
478
err = ops->rate_leaf_tx_weight_set(devlink_rate, devlink_rate->priv,
net/devlink/rate.c
480
else if (devlink_rate_is_node(devlink_rate))
net/devlink/rate.c
481
err = ops->rate_node_tx_weight_set(devlink_rate, devlink_rate->priv,
net/devlink/rate.c
486
devlink_rate->tx_weight = weight;
net/devlink/rate.c
491
err = devlink_nl_rate_parent_node_set(devlink_rate, info,
net/devlink/rate.c
498
err = devlink_nl_rate_tc_bw_set(devlink_rate, info);
net/devlink/rate.c
589
struct devlink_rate *devlink_rate;
net/devlink/rate.c
593
devlink_rate = devlink_rate_get_from_info(devlink, info);
net/devlink/rate.c
594
if (IS_ERR(devlink_rate))
net/devlink/rate.c
595
return PTR_ERR(devlink_rate);
net/devlink/rate.c
598
if (!ops || !devlink_rate_set_ops_supported(ops, info, devlink_rate->type))
net/devlink/rate.c
601
err = devlink_nl_rate_set(devlink_rate, ops, info);
net/devlink/rate.c
604
devlink_rate_notify(devlink_rate, DEVLINK_CMD_RATE_NEW);
net/devlink/rate.c
611
struct devlink_rate *rate_node;
net/devlink/rate.c
63
static struct devlink_rate *
net/devlink/rate.c
667
struct devlink_rate *rate_node;
net/devlink/rate.c
69
static struct devlink_rate *
net/devlink/rate.c
691
bool (*rate_filter)(const struct devlink_rate *),
net/devlink/rate.c
694
struct devlink_rate *devlink_rate;
net/devlink/rate.c
696
list_for_each_entry(devlink_rate, &devlink->rate_list, list)
net/devlink/rate.c
697
if (!rate_filter || rate_filter(devlink_rate)) {
net/devlink/rate.c
714
struct devlink_rate *
net/devlink/rate.c
716
struct devlink_rate *parent)
net/devlink/rate.c
718
struct devlink_rate *rate_node;
net/devlink/rate.c
759
struct devlink_rate *parent)
net/devlink/rate.c
762
struct devlink_rate *devlink_rate;
net/devlink/rate.c
766
if (WARN_ON(devlink_port->devlink_rate))
net/devlink/rate.c
769
devlink_rate = kzalloc_obj(*devlink_rate);
net/devlink/rate.c
770
if (!devlink_rate)
net/devlink/rate.c
774
devlink_rate->parent = parent;
net/devlink/rate.c
775
refcount_inc(&devlink_rate->parent->refcnt);
net/devlink/rate.c
778
devlink_rate->type = DEVLINK_RATE_TYPE_LEAF;
net/devlink/rate.c
779
devlink_rate->devlink = devlink;
net/devlink/rate.c
780
devlink_rate->devlink_port = devlink_port;
net/devlink/rate.c
781
devlink_rate->priv = priv;
net/devlink/rate.c
782
list_add_tail(&devlink_rate->list, &devlink->rate_list);
net/devlink/rate.c
783
devlink_port->devlink_rate = devlink_rate;
net/devlink/rate.c
784
devlink_rate_notify(devlink_rate, DEVLINK_CMD_RATE_NEW);
net/devlink/rate.c
799
struct devlink_rate *devlink_rate = devlink_port->devlink_rate;
net/devlink/rate.c
802
if (!devlink_rate)
net/devlink/rate.c
805
devlink_rate_notify(devlink_rate, DEVLINK_CMD_RATE_DEL);
net/devlink/rate.c
806
if (devlink_rate->parent)
net/devlink/rate.c
807
refcount_dec(&devlink_rate->parent->refcnt);
net/devlink/rate.c
808
list_del(&devlink_rate->list);
net/devlink/rate.c
809
devlink_port->devlink_rate = NULL;
net/devlink/rate.c
810
kfree(devlink_rate);
net/devlink/rate.c
824
struct devlink_rate *devlink_rate, *tmp;
net/devlink/rate.c
828
list_for_each_entry(devlink_rate, &devlink->rate_list, list) {
net/devlink/rate.c
829
if (!devlink_rate->parent)
net/devlink/rate.c
832
if (devlink_rate_is_leaf(devlink_rate))
net/devlink/rate.c
833
ops->rate_leaf_parent_set(devlink_rate, NULL, devlink_rate->priv,
net/devlink/rate.c
835
else if (devlink_rate_is_node(devlink_rate))
net/devlink/rate.c
836
ops->rate_node_parent_set(devlink_rate, NULL, devlink_rate->priv,
net/devlink/rate.c
839
refcount_dec(&devlink_rate->parent->refcnt);
net/devlink/rate.c
840
devlink_rate->parent = NULL;
net/devlink/rate.c
842
list_for_each_entry_safe(devlink_rate, tmp, &devlink->rate_list, list) {
net/devlink/rate.c
843
if (devlink_rate_is_node(devlink_rate)) {
net/devlink/rate.c
844
ops->rate_node_del(devlink_rate, devlink_rate->priv, NULL);
net/devlink/rate.c
845
list_del(&devlink_rate->list);
net/devlink/rate.c
846
kfree(devlink_rate->name);
net/devlink/rate.c
847
kfree(devlink_rate);