On Wed, Sep 29, 2021 at 02:25:00PM +0200, Greg Kroah-Hartman wrote: > On Wed, Sep 29, 2021 at 03:00:44PM +0300, Leon Romanovsky wrote: > > +void devlink_set_ops(struct devlink *devlink, struct devlink_ops *ops) > > +{ > > + struct devlink_ops *dev_ops = devlink->ops; > > + > > + WARN_ON(!devlink_reload_actions_valid(ops)); > > + > > +#define SET_DEVICE_OP(ptr, op, name) \ > > + do { \ > > + if ((op)->name) \ > > + if (!((ptr)->name)) \ > > + (ptr)->name = (op)->name; \ > > + } while (0) > > + > > + /* Keep sorted */ > > + SET_DEVICE_OP(dev_ops, ops, reload_actions); > > + SET_DEVICE_OP(dev_ops, ops, reload_down); > > + SET_DEVICE_OP(dev_ops, ops, reload_limits); > > + SET_DEVICE_OP(dev_ops, ops, reload_up); > > Keep sorted in what order? And why? Sorted by name. It simplifies future addition of new commands and removes useless fraction where place new line. Thanks > > thanks, > > greg k-h