Lines Matching defs:ops
353 const struct devlink_region_ops *ops;
375 if (!strcmp(region->ops->name, region_name))
388 if (!strcmp(region->ops->name, region_name))
415 static int devlink_nl_pre_doit(const struct genl_ops *ops,
428 if (~ops->internal_flags & DEVLINK_NL_FLAG_NO_LOCK)
431 if (ops->internal_flags & DEVLINK_NL_FLAG_NEED_PORT) {
438 } else if (ops->internal_flags & DEVLINK_NL_FLAG_NEED_DEVLINK_OR_PORT) {
446 if (~ops->internal_flags & DEVLINK_NL_FLAG_NO_LOCK)
452 static void devlink_nl_post_doit(const struct genl_ops *ops,
458 if (~ops->internal_flags & DEVLINK_NL_FLAG_NO_LOCK)
511 return test_bit(action, &devlink->ops->reload_actions);
517 return test_bit(limit, &devlink->ops->reload_limits);
719 const struct devlink_ops *ops;
728 ops = devlink->ops;
729 if (ops->port_function_hw_addr_get) {
733 err = ops->port_function_hw_addr_get(devlink, port, hw_addr, &hw_addr_len, extack);
968 if (devlink->ops->port_type_set) {
971 err = devlink->ops->port_type_set(devlink_port, port_type);
985 const struct devlink_ops *ops;
1007 ops = devlink->ops;
1008 if (!ops->port_function_hw_addr_set) {
1013 err = ops->port_function_hw_addr_set(devlink, port, hw_addr, hw_addr_len, extack);
1074 if (devlink->ops->port_split)
1075 return devlink->ops->port_split(devlink, port_index, count,
1120 if (devlink->ops->port_unsplit)
1121 return devlink->ops->port_unsplit(devlink, port_index, extack);
1251 err = devlink->ops->sb_pool_get(devlink, devlink_sb->index,
1303 if (!devlink->ops->sb_pool_get)
1359 !devlink->ops->sb_pool_get)
1392 const struct devlink_ops *ops = devlink->ops;
1394 if (ops->sb_pool_set)
1395 return ops->sb_pool_set(devlink, sb_index, pool_index,
1440 const struct devlink_ops *ops = devlink->ops;
1445 err = ops->sb_port_pool_get(devlink_port, devlink_sb->index,
1465 if (ops->sb_occ_port_pool_get) {
1469 err = ops->sb_occ_port_pool_get(devlink_port, devlink_sb->index,
1510 if (!devlink->ops->sb_port_pool_get)
1572 !devlink->ops->sb_port_pool_get)
1605 const struct devlink_ops *ops = devlink_port->devlink->ops;
1607 if (ops->sb_port_pool_set)
1608 return ops->sb_port_pool_set(devlink_port, sb_index,
1648 const struct devlink_ops *ops = devlink->ops;
1654 err = ops->sb_tc_pool_bind_get(devlink_port, devlink_sb->index,
1679 if (ops->sb_occ_tc_port_bind_get) {
1683 err = ops->sb_occ_tc_port_bind_get(devlink_port,
1729 if (!devlink->ops->sb_tc_pool_bind_get)
1813 !devlink->ops->sb_tc_pool_bind_get)
1849 const struct devlink_ops *ops = devlink_port->devlink->ops;
1851 if (ops->sb_tc_pool_bind_set)
1852 return ops->sb_tc_pool_bind_set(devlink_port, sb_index,
1901 const struct devlink_ops *ops = devlink->ops;
1908 if (ops->sb_occ_snapshot)
1909 return ops->sb_occ_snapshot(devlink, devlink_sb->index);
1917 const struct devlink_ops *ops = devlink->ops;
1924 if (ops->sb_occ_max_clear)
1925 return ops->sb_occ_max_clear(devlink, devlink_sb->index);
1933 const struct devlink_ops *ops = devlink->ops;
1948 if (ops->eswitch_mode_get) {
1949 err = ops->eswitch_mode_get(devlink, &mode);
1957 if (ops->eswitch_inline_mode_get) {
1958 err = ops->eswitch_inline_mode_get(devlink, &inline_mode);
1967 if (ops->eswitch_encap_mode_get) {
1968 err = ops->eswitch_encap_mode_get(devlink, &encap_mode);
2010 const struct devlink_ops *ops = devlink->ops;
2017 if (!ops->eswitch_mode_set)
2020 err = ops->eswitch_mode_set(devlink, mode, info->extack);
2026 if (!ops->eswitch_inline_mode_set)
2030 err = ops->eswitch_inline_mode_set(devlink, inline_mode,
2037 if (!ops->eswitch_encap_mode_set)
2040 err = ops->eswitch_encap_mode_set(devlink, encap_mode,
3109 static bool devlink_reload_supported(const struct devlink_ops *ops)
3111 return ops->reload_down && ops->reload_up;
3197 err = devlink->ops->reload_down(devlink, !!dest_net, action, limit, extack);
3204 err = devlink->ops->reload_up(devlink, action, limit, actions_performed, extack);
3259 if (!devlink_reload_supported(devlink->ops))
3468 if (!devlink->ops->flash_update)
3474 supported_params = devlink->ops->supported_flash_update_params;
3501 return devlink->ops->flash_update(devlink, ¶ms, info->extack);
4254 err = nla_put_string(msg, DEVLINK_ATTR_REGION_NAME, region->ops->name);
4309 region->ops->name);
4545 region->ops->destructor(snapshot->data);
4766 if (!region->ops->snapshot) {
4800 err = region->ops->snapshot(devlink, region->ops,
4833 region->ops->destructor(data);
5150 err = devlink->ops->info_get(devlink, &req, extack);
5169 if (!devlink->ops->info_get)
5204 if (!devlink->ops->info_get) {
5826 const struct devlink_health_reporter_ops *ops;
5859 if (!strcmp(reporter->ops->name, reporter_name))
5884 const struct devlink_health_reporter_ops *ops,
5889 if (WARN_ON(graceful_period && !ops->recover))
5897 reporter->ops = ops;
5900 reporter->auto_recover = !!ops->recover;
5901 reporter->auto_dump = !!ops->dump;
5912 * @ops: ops
5918 const struct devlink_health_reporter_ops *ops,
5925 &port->reporters_lock, ops->name)) {
5930 reporter = __devlink_health_reporter_create(port->devlink, ops,
5947 * @ops: ops
5953 const struct devlink_health_reporter_ops *ops,
5959 if (devlink_health_reporter_find_by_name(devlink, ops->name)) {
5964 reporter = __devlink_health_reporter_create(devlink, ops,
6057 reporter->ops->name))
6068 if (reporter->ops->recover &&
6073 if (reporter->ops->recover &&
6086 if (reporter->ops->dump &&
6143 if (!reporter->ops->recover)
6146 err = reporter->ops->recover(reporter, priv_ctx, extack);
6172 if (!reporter->ops->dump)
6188 err = reporter->ops->dump(reporter, reporter->dump_fmsg,
6216 trace_devlink_health_report(devlink, reporter->ops->name, msg);
6230 reporter->ops->name,
6325 reporter->ops->name, state);
6446 if (!reporter->ops->recover &&
6452 if (!reporter->ops->dump &&
6506 if (!reporter->ops->diagnose) {
6521 err = reporter->ops->diagnose(reporter, fmsg, info->extack);
6550 if (!reporter->ops->dump) {
6587 if (!reporter->ops->dump) {
6610 if (!reporter->ops->test) {
6615 err = reporter->ops->test(reporter, info->extack);
6955 err = devlink->ops->trap_action_set(devlink, trap_item->trap,
7177 if (devlink->ops->trap_group_action_set) {
7178 err = devlink->ops->trap_group_action_set(devlink, group_item->group,
7247 if (!devlink->ops->trap_group_set)
7264 err = devlink->ops->trap_group_set(devlink, group_item->group, policer,
7330 if (!devlink->ops->trap_policer_counter_get)
7333 err = devlink->ops->trap_policer_counter_get(devlink, policer, &drops);
7512 err = devlink->ops->trap_policer_set(devlink, policer_item->policer,
7533 if (!devlink->ops->trap_policer_set)
7928 static bool devlink_reload_actions_valid(const struct devlink_ops *ops)
7933 if (!devlink_reload_supported(ops)) {
7934 if (WARN_ON(ops->reload_actions))
7939 if (WARN_ON(!ops->reload_actions ||
7940 ops->reload_actions & BIT(DEVLINK_RELOAD_ACTION_UNSPEC) ||
7941 ops->reload_actions >= BIT(__DEVLINK_RELOAD_ACTION_MAX)))
7944 if (WARN_ON(ops->reload_limits & BIT(DEVLINK_RELOAD_LIMIT_UNSPEC) ||
7945 ops->reload_limits >= BIT(__DEVLINK_RELOAD_LIMIT_MAX)))
7950 if (ops->reload_actions == BIT(comb->action) &&
7951 ops->reload_limits == BIT(comb->limit))
7960 * @ops: ops
7966 struct devlink *devlink_alloc(const struct devlink_ops *ops, size_t priv_size)
7970 if (WARN_ON(!ops))
7973 if (!devlink_reload_actions_valid(ops))
7979 devlink->ops = ops;
8024 WARN_ON(devlink_reload_supported(devlink->ops) &&
8205 const struct net_device_ops *ops = netdev->netdev_ops;
8209 * and the original ops are not used.
8211 if (ops->ndo_get_phys_port_name) {
8221 err = ops->ndo_get_phys_port_name(netdev, name, sizeof(name));
8224 if (ops->ndo_get_port_parent_id) {
8234 err = ops->ndo_get_port_parent_id(netdev, &ppid);
8547 * @table_ops: table ops
9073 if (!devlink_reload_supported(devlink->ops))
9120 if (!devlink_reload_supported(devlink->ops))
9223 * @ops: region operations and name
9229 const struct devlink_region_ops *ops,
9235 if (WARN_ON(!ops) || WARN_ON(!ops->destructor))
9240 if (devlink_region_get_by_name(devlink, ops->name)) {
9253 region->ops = ops;
9272 * @ops: region operations and name
9278 const struct devlink_port_region_ops *ops,
9285 if (WARN_ON(!ops) || WARN_ON(!ops->destructor))
9290 if (devlink_port_region_get_by_name(port, ops->name)) {
9304 region->port_ops = ops;
9719 err = devlink->ops->trap_init(devlink, trap, trap_item);
9747 if (devlink->ops->trap_fini)
9748 devlink->ops->trap_fini(devlink, trap, trap_item);
9762 devlink->ops->trap_action_set(devlink, trap, DEVLINK_TRAP_ACTION_DROP,
9782 if (!devlink->ops->trap_init || !devlink->ops->trap_action_set)
9952 if (devlink->ops->trap_group_init) {
9953 err = devlink->ops->trap_group_init(devlink, group);
10091 if (devlink->ops->trap_policer_init) {
10092 err = devlink->ops->trap_policer_init(devlink, policer);
10121 if (devlink->ops->trap_policer_fini)
10122 devlink->ops->trap_policer_fini(devlink, policer);
10202 err = devlink->ops->info_get(devlink, &req, NULL);
10234 if (!devlink || !devlink->ops->info_get)
10256 if (!devlink || !devlink->ops->flash_update) {
10264 ret = devlink->ops->flash_update(devlink, ¶ms, NULL);
10322 if (WARN_ON(!devlink_reload_supported(devlink->ops)))