Lines Matching defs:devlink
10 devlink_linecard_get_by_index(struct devlink *devlink,
15 list_for_each_entry(devlink_linecard, &devlink->linecard_list, list) {
22 static bool devlink_linecard_index_exists(struct devlink *devlink,
25 return devlink_linecard_get_by_index(devlink, linecard_index);
29 devlink_linecard_get_from_attrs(struct devlink *devlink, struct nlattr **attrs)
35 linecard = devlink_linecard_get_by_index(devlink, linecard_index);
44 devlink_linecard_get_from_info(struct devlink *devlink, struct genl_info *info)
46 return devlink_linecard_get_from_attrs(devlink, info->attrs);
49 static int devlink_nl_put_nested_handle(struct sk_buff *msg, struct devlink *devlink)
56 if (devlink_nl_put_handle(msg, devlink))
73 struct devlink *devlink,
88 if (devlink_nl_put_handle(msg, devlink))
129 struct devlink *devlink = linecard->devlink;
136 if (!xa_get_mark(&devlinks, devlink->index, DEVLINK_REGISTERED))
143 err = devlink_nl_linecard_fill(msg, devlink, linecard, cmd, 0, 0, 0,
150 genlmsg_multicast_netns(&devlink_nl_family, devlink_net(devlink),
154 void devlink_linecards_notify_register(struct devlink *devlink)
158 list_for_each_entry(linecard, &devlink->linecard_list, list)
162 void devlink_linecards_notify_unregister(struct devlink *devlink)
166 list_for_each_entry_reverse(linecard, &devlink->linecard_list, list)
172 struct devlink *devlink = info->user_ptr[0];
177 linecard = devlink_linecard_get_from_info(devlink, info);
186 err = devlink_nl_linecard_fill(msg, devlink, linecard,
200 struct devlink *devlink,
209 list_for_each_entry(linecard, &devlink->linecard_list, list) {
215 err = devlink_nl_linecard_fill(msg, devlink, linecard,
373 struct devlink *devlink = info->user_ptr[0];
377 linecard = devlink_linecard_get_from_info(devlink, info);
427 * devl_linecard_create - Create devlink linecard
429 * @devlink: devlink
434 * Create devlink linecard instance with provided linecard index.
440 devl_linecard_create(struct devlink *devlink, unsigned int linecard_index,
450 if (devlink_linecard_index_exists(devlink, linecard_index))
457 linecard->devlink = devlink;
471 list_add_tail(&linecard->list, &devlink->linecard_list);
478 * devl_linecard_destroy - Destroy devlink linecard
480 * @linecard: devlink linecard
495 * @linecard: devlink linecard
516 * @linecard: devlink linecard
535 * @linecard: devlink linecard
553 * @linecard: devlink linecard
568 * @linecard: devlink linecard
592 * devlink_linecard_nested_dl_set - Attach/detach nested devlink
595 * @linecard: devlink linecard
596 * @nested_devlink: devlink instance to attach or NULL to detach
599 struct devlink *nested_devlink)