mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-05-02 18:15:03 -04:00
devlink: parse linecard attr in doit() callbacks
No need to give the linecards any special treatment in netlink attribute parsing, as unlike for ports, there is only a couple of commands benefiting from that. Remove DEVLINK_NL_FLAG_NEED_LINECARD, make pre_doit() callback simpler by moving the linecard attribute parsing to linecard_[gs]et_doit() ops. Signed-off-by: Jiri Pirko <jiri@nvidia.com> Acked-by: Jakub Kicinski <kuba@kernel.org> Link: https://lore.kernel.org/r/20230811155714.1736405-2-jiri@resnulli.us Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
83b5f0253b
commit
63618463cb
@@ -112,7 +112,6 @@ devlink_get_from_attrs_lock(struct net *net, struct nlattr **attrs)
|
||||
int devlink_nl_pre_doit(const struct genl_split_ops *ops,
|
||||
struct sk_buff *skb, struct genl_info *info)
|
||||
{
|
||||
struct devlink_linecard *linecard;
|
||||
struct devlink_port *devlink_port;
|
||||
struct devlink *devlink;
|
||||
int err;
|
||||
@@ -151,13 +150,6 @@ int devlink_nl_pre_doit(const struct genl_split_ops *ops,
|
||||
goto unlock;
|
||||
}
|
||||
info->user_ptr[1] = rate_node;
|
||||
} else if (ops->internal_flags & DEVLINK_NL_FLAG_NEED_LINECARD) {
|
||||
linecard = devlink_linecard_get_from_info(devlink, info);
|
||||
if (IS_ERR(linecard)) {
|
||||
err = PTR_ERR(linecard);
|
||||
goto unlock;
|
||||
}
|
||||
info->user_ptr[1] = linecard;
|
||||
}
|
||||
return 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user