Lines Matching full:devlink
10 * struct devlink_resource - devlink resource
12 * @id: id, per devlink instance
66 devlink_resource_find(struct devlink *devlink, in devlink_resource_find() argument
69 return __devlink_resource_find(&devlink->resource_list, in devlink_resource_find()
120 struct devlink *devlink = devlink_nl_ctx(info)->devlink; in devlink_nl_resource_set_doit() local
131 resource = devlink_resource_find(devlink, NULL, resource_id); in devlink_nl_resource_set_doit()
174 static int devlink_resource_put(struct devlink *devlink, struct sk_buff *skb, in devlink_resource_put() argument
210 if (devlink_resource_put(devlink, skb, child_resource)) in devlink_resource_put()
227 struct devlink *devlink, in devlink_resource_list_fill() argument
240 err = devlink_resource_put(devlink, skb, resource); in devlink_resource_list_fill()
255 struct devlink *devlink = ctx->devlink; in devlink_resource_fill() local
269 &devlink_port->resource_list : &devlink->resource_list; in devlink_resource_fill()
284 if (devlink_nl_put_handle(skb, devlink)) in devlink_resource_fill()
298 err = devlink_resource_put(devlink, skb, resource); in devlink_resource_fill()
332 struct devlink *devlink = ctx->devlink; in devlink_nl_resource_dump_doit() local
341 &devlink_port->resource_list : &devlink->resource_list; in devlink_nl_resource_dump_doit()
349 devlink_resource_dump_fill_one(struct sk_buff *skb, struct devlink *devlink, in devlink_resource_dump_fill_one() argument
360 &devlink_port->resource_list : &devlink->resource_list; in devlink_resource_dump_fill_one()
371 if (devlink_nl_put_handle(skb, devlink)) in devlink_resource_dump_fill_one()
381 err = devlink_resource_list_fill(skb, devlink, resource_list, idx); in devlink_resource_dump_fill_one()
401 devlink_nl_resource_dump_one(struct sk_buff *skb, struct devlink *devlink, in devlink_nl_resource_dump_one() argument
424 err = devlink_resource_dump_fill_one(skb, devlink, NULL, in devlink_nl_resource_dump_one()
435 !xa_load(&devlink->ports, state->port_ctx.index)) in devlink_nl_resource_dump_one()
438 xa_for_each_start(&devlink->ports, port_idx, devlink_port, in devlink_nl_resource_dump_one()
440 err = devlink_resource_dump_fill_one(skb, devlink, devlink_port, in devlink_nl_resource_dump_one()
460 int devlink_resources_validate(struct devlink *devlink, in devlink_resources_validate() argument
470 resource_list = &devlink->resource_list; in devlink_resources_validate()
475 err = devlink_resources_validate(devlink, resource, info); in devlink_resources_validate()
483 __devl_resource_register(struct devlink *devlink, in __devl_resource_register() argument
495 lockdep_assert_held(&devlink->lock); in __devl_resource_register()
538 * devl_resource_register - devlink resource register
540 * @devlink: devlink
549 * Documentation/networking/devlink/devlink-resource.rst
553 int devl_resource_register(struct devlink *devlink, const char *resource_name, in devl_resource_register() argument
558 return __devl_resource_register(devlink, &devlink->resource_list, in devl_resource_register()
578 __devl_resources_unregister(struct devlink *devlink, in __devl_resources_unregister() argument
583 lockdep_assert_held(&devlink->lock); in __devl_resources_unregister()
596 * @devlink: devlink
598 void devl_resources_unregister(struct devlink *devlink) in devl_resources_unregister() argument
600 __devl_resources_unregister(devlink, &devlink->resource_list); in devl_resources_unregister()
607 * @devlink: devlink
609 * Context: Takes and release devlink->lock <mutex>.
611 void devlink_resources_unregister(struct devlink *devlink) in devlink_resources_unregister() argument
613 devl_lock(devlink); in devlink_resources_unregister()
614 devl_resources_unregister(devlink); in devlink_resources_unregister()
615 devl_unlock(devlink); in devlink_resources_unregister()
622 * @devlink: devlink
626 int devl_resource_size_get(struct devlink *devlink, in devl_resource_size_get() argument
632 lockdep_assert_held(&devlink->lock); in devl_resource_size_get()
634 resource = devlink_resource_find(devlink, NULL, resource_id); in devl_resource_size_get()
646 * @devlink: devlink
651 void devl_resource_occ_get_register(struct devlink *devlink, in devl_resource_occ_get_register() argument
658 lockdep_assert_held(&devlink->lock); in devl_resource_occ_get_register()
660 resource = devlink_resource_find(devlink, NULL, resource_id); in devl_resource_occ_get_register()
673 * @devlink: devlink
676 void devl_resource_occ_get_unregister(struct devlink *devlink, in devl_resource_occ_get_unregister() argument
681 lockdep_assert_held(&devlink->lock); in devl_resource_occ_get_unregister()
683 resource = devlink_resource_find(devlink, NULL, resource_id); in devl_resource_occ_get_unregister()
694 * devl_port_resource_register - devlink port resource register
696 * @devlink_port: devlink port
705 * Documentation/networking/devlink/devlink-resource.rst
716 return __devl_resource_register(devlink_port->devlink, in devl_port_resource_register()
725 * devl_port_resources_unregister - unregister all devlink port resources
727 * @devlink_port: devlink port
731 __devl_resources_unregister(devlink_port->devlink, in devl_port_resources_unregister()