On Mon, Feb 03, 2025 at 04:03:16PM +0100, Jedrzej Jagielski wrote: > Add an initial support for devlink interface to ixgbe driver. > > Similarly to i40e driver the implementation doesn't enable > devlink to manage device-wide configuration. Devlink instance > is created for each physical function of PCIe device. > > Create separate directory for devlink related ixgbe files > and use naming scheme similar to the one used in the ice driver. > > Add a stub for Documentation, to be extended by further patches. > > Reviewed-by: Mateusz Polchlopek <mateusz.polchlo...@intel.com> > Signed-off-by: Jedrzej Jagielski <jedrzej.jagiel...@intel.com>
... > +/** > + * ixgbe_devlink_register_port - Register devlink port > + * @adapter: pointer to the device adapter structure > + * > + * Create and register a devlink_port for this physical function. > + * > + * Return: 0 on success, error code on failure. > + */ > +int ixgbe_devlink_register_port(struct ixgbe_adapter *adapter) > +{ > + struct devlink_port *devlink_port = &adapter->devlink_port; > + struct devlink *devlink = adapter->devlink; > + struct device *dev = &adapter->pdev->dev; > + struct devlink_port_attrs attrs = {}; > + int err; > + > + attrs.flavour = DEVLINK_PORT_FLAVOUR_PHYSICAL; > + attrs.phys.port_number = adapter->hw.bus.func; > + ixgbe_devlink_set_switch_id(adapter, &attrs.switch_id); > + > + devlink_port_attrs_set(devlink_port, &attrs); > + > + err = devl_port_register(devlink, devlink_port, 0); > + if (err) { > + dev_err(dev, > + "devlink port registration failed, err %d\n", > + err); nit: I think we can fit this onto one 80 column-wide line (just!). dev_err(dev, "devlink port registration failed, err %d\n", err); > + } > + > + return err; > +} ...