> + * An overall lock guarding every operation comming from userspace. > + * If also guards devlink devices list and it is taken when > + * driver registers/unregisters it. Several typos in comment.
> +static void devlink_notify(struct devlink *devlink, enum > +devlink_command cmd) { ... > + WARN_ON(cmd != DEVLINK_CMD_NEW && cmd != > DEVLINK_CMD_DEL); Given this should never happen, shouldn't this be ONCE? > +static void devlink_port_notify(struct devlink_port *devlink_port, ... > + WARN_ON(cmd != DEVLINK_CMD_PORT_NEW && cmd != > DEVLINK_CMD_PORT_DEL); Likewise > +static void __devlink_port_type_set(struct devlink_port *devlink_port, ... > + devlink_port_notify(devlink_port, DEVLINK_CMD_PORT_NEW); } Why is this PORT_NEW? Shouldn't it be PORT_SET? Also, curly bracers are repeatedly on last line of function [if this file]. Is this by design?