Lines Matching defs:devlink
10 * struct devlink_resource - devlink resource
12 * @id: id, per devlink instance
39 devlink_resource_find(struct devlink *devlink,
47 resource_list = &devlink->resource_list;
55 child_resource = devlink_resource_find(devlink, resource,
110 struct devlink *devlink = info->user_ptr[0];
121 resource = devlink_resource_find(devlink, NULL, resource_id);
165 static int devlink_resource_put(struct devlink *devlink, struct sk_buff *skb,
203 if (devlink_resource_put(devlink, skb, child_resource))
222 struct devlink *devlink = info->user_ptr[0];
232 resource = list_first_entry(&devlink->resource_list,
246 if (devlink_nl_put_handle(skb, devlink))
256 list_for_each_entry_from(resource, &devlink->resource_list, list) {
257 err = devlink_resource_put(devlink, skb, resource);
290 struct devlink *devlink = info->user_ptr[0];
292 if (list_empty(&devlink->resource_list))
298 int devlink_resources_validate(struct devlink *devlink,
308 resource_list = &devlink->resource_list;
313 err = devlink_resources_validate(devlink, resource, info);
321 * devl_resource_register - devlink resource register
323 * @devlink: devlink
332 * Documentation/networking/devlink/devlink-resource.rst
334 int devl_resource_register(struct devlink *devlink,
345 lockdep_assert_held(&devlink->lock);
349 resource = devlink_resource_find(devlink, NULL, resource_id);
358 resource_list = &devlink->resource_list;
362 parent_resource = devlink_resource_find(devlink, NULL,
388 * devlink_resource_register - devlink resource register
390 * @devlink: devlink
399 * Documentation/networking/devlink/devlink-resource.rst
401 * Context: Takes and release devlink->lock <mutex>.
403 int devlink_resource_register(struct devlink *devlink,
412 devl_lock(devlink);
413 err = devl_resource_register(devlink, resource_name, resource_size,
415 devl_unlock(devlink);
420 static void devlink_resource_unregister(struct devlink *devlink,
427 devlink_resource_unregister(devlink, child_resource);
436 * @devlink: devlink
438 void devl_resources_unregister(struct devlink *devlink)
442 lockdep_assert_held(&devlink->lock);
444 list_for_each_entry_safe(child_resource, tmp, &devlink->resource_list,
446 devlink_resource_unregister(devlink, child_resource);
456 * @devlink: devlink
458 * Context: Takes and release devlink->lock <mutex>.
460 void devlink_resources_unregister(struct devlink *devlink)
462 devl_lock(devlink);
463 devl_resources_unregister(devlink);
464 devl_unlock(devlink);
471 * @devlink: devlink
475 int devl_resource_size_get(struct devlink *devlink,
481 lockdep_assert_held(&devlink->lock);
483 resource = devlink_resource_find(devlink, NULL, resource_id);
495 * @devlink: devlink
500 void devl_resource_occ_get_register(struct devlink *devlink,
507 lockdep_assert_held(&devlink->lock);
509 resource = devlink_resource_find(devlink, NULL, resource_id);
522 * @devlink: devlink
527 * Context: Takes and release devlink->lock <mutex>.
529 void devlink_resource_occ_get_register(struct devlink *devlink,
534 devl_lock(devlink);
535 devl_resource_occ_get_register(devlink, resource_id,
537 devl_unlock(devlink);
544 * @devlink: devlink
547 void devl_resource_occ_get_unregister(struct devlink *devlink,
552 lockdep_assert_held(&devlink->lock);
554 resource = devlink_resource_find(devlink, NULL, resource_id);
567 * @devlink: devlink
570 * Context: Takes and release devlink->lock <mutex>.
572 void devlink_resource_occ_get_unregister(struct devlink *devlink,
575 devl_lock(devlink);
576 devl_resource_occ_get_unregister(devlink, resource_id);
577 devl_unlock(devlink);