Lines Matching defs:devlink

13 #include <net/devlink.h>
30 struct devlink {
50 /* Serializes access to devlink instance specific objects such as
64 /* devlink instances are open to the access from the user space after
69 * access possible to the devlink instance. All drivers perform that phase
72 * After *_register() - users and driver can access devlink instance at
80 /* Iterate over devlink pointers which were possible to get reference to.
81 * devlink_put() needs to be called for each iterated devlink pointer
84 #define devlinks_xa_for_each_registered_get(net, index, devlink) \
85 for (index = 0; (devlink = devlinks_xa_find_get(net, &index)); index++)
87 struct devlink *devlinks_xa_find_get(struct net *net, unsigned long *indexp);
89 static inline bool devl_is_registered(struct devlink *devlink)
91 devl_assert_locked(devlink);
92 return xa_get_mark(&devlinks, devlink->index, DEVLINK_REGISTERED);
120 struct devlink *devlink,
124 struct devlink *
139 devlink_nl_put_handle(struct sk_buff *msg, struct devlink *devlink)
141 if (nla_put_string(msg, DEVLINK_ATTR_BUS_NAME, devlink->dev->bus->name))
143 if (nla_put_string(msg, DEVLINK_ATTR_DEV_NAME, dev_name(devlink->dev)))
151 void devlink_notify_register(struct devlink *devlink);
152 void devlink_notify_unregister(struct devlink *devlink);
153 void devlink_ports_notify_register(struct devlink *devlink);
154 void devlink_ports_notify_unregister(struct devlink *devlink);
155 void devlink_params_notify_register(struct devlink *devlink);
156 void devlink_params_notify_unregister(struct devlink *devlink);
157 void devlink_regions_notify_register(struct devlink *devlink);
158 void devlink_regions_notify_unregister(struct devlink *devlink);
159 void devlink_trap_policers_notify_register(struct devlink *devlink);
160 void devlink_trap_policers_notify_unregister(struct devlink *devlink);
161 void devlink_trap_groups_notify_register(struct devlink *devlink);
162 void devlink_trap_groups_notify_unregister(struct devlink *devlink);
163 void devlink_traps_notify_register(struct devlink *devlink);
164 void devlink_traps_notify_unregister(struct devlink *devlink);
165 void devlink_rates_notify_register(struct devlink *devlink);
166 void devlink_rates_notify_unregister(struct devlink *devlink);
167 void devlink_linecards_notify_register(struct devlink *devlink);
168 void devlink_linecards_notify_unregister(struct devlink *devlink);
174 struct devlink_port *devlink_port_get_by_index(struct devlink *devlink,
179 devlink_port_get_from_info(struct devlink *devlink, struct genl_info *info);
180 struct devlink_port *devlink_port_get_from_attrs(struct devlink *devlink,
185 int devlink_reload(struct devlink *devlink, struct net *dest_net,
196 void devlink_params_driverinit_load_new(struct devlink *devlink);
200 int devlink_resources_validate(struct devlink *devlink,
205 int devlink_rate_nodes_check(struct devlink *devlink, u16 mode,
211 struct devlink *devlink;
220 struct devlink *nested_devlink;