Lines Matching refs:parent
127 if (devlink_rate->parent)
129 devlink_rate->parent->name))
244 struct devlink_rate *parent)
246 while (parent) {
247 if (parent == devlink_rate)
249 parent = parent->parent;
263 struct devlink_rate *parent;
266 parent = devlink_rate->parent;
268 if (parent && !len) {
280 refcount_dec(&parent->refcnt);
281 devlink_rate->parent = NULL;
283 parent = devlink_rate_node_get_by_name(devlink, parent_name);
284 if (IS_ERR(parent))
287 if (parent == devlink_rate) {
293 devlink_rate_is_parent_node(devlink_rate, parent->parent)) {
294 NL_SET_ERR_MSG(info->extack, "Node is already a parent of parent node.");
299 err = ops->rate_leaf_parent_set(devlink_rate, parent,
300 devlink_rate->priv, parent->priv,
303 err = ops->rate_node_parent_set(devlink_rate, parent,
304 devlink_rate->priv, parent->priv,
309 if (devlink_rate->parent)
310 /* we're reassigning to other parent in this case */
311 refcount_dec(&devlink_rate->parent->refcnt);
313 refcount_inc(&parent->refcnt);
314 devlink_rate->parent = parent;
557 if (rate_node->parent)
558 refcount_dec(&rate_node->parent->refcnt);
583 * @parent: parent devlink_rate struct
589 struct devlink_rate *parent)
601 if (parent) {
602 rate_node->parent = parent;
603 refcount_inc(&rate_node->parent->refcnt);
627 * @parent: parent devlink_rate struct
632 struct devlink_rate *parent)
646 if (parent) {
647 devlink_rate->parent = parent;
648 refcount_inc(&devlink_rate->parent->refcnt);
679 if (devlink_rate->parent)
680 refcount_dec(&devlink_rate->parent->refcnt);
691 * Unset parent for all rate objects and destroy all rate nodes
702 if (!devlink_rate->parent)
705 refcount_dec(&devlink_rate->parent->refcnt);