On Wed, 16 Dec 2020 05:19:15 +0000 Parav Pandit wrote: > > From: Jakub Kicinski <kuba@xxxxxxxxxx> > > Sent: Wednesday, December 16, 2020 6:14 AM > > > > On Tue, 15 Dec 2020 01:03:50 -0800 Saeed Mahameed wrote: > > > +static ssize_t sfnum_show(struct device *dev, struct device_attribute > > > +*attr, char *buf) { > > > + struct auxiliary_device *adev = container_of(dev, struct > > auxiliary_device, dev); > > > + struct mlx5_sf_dev *sf_dev = container_of(adev, struct mlx5_sf_dev, > > > +adev); > > > + > > > + return scnprintf(buf, PAGE_SIZE, "%u\n", sf_dev->sfnum); } static > > > +DEVICE_ATTR_RO(sfnum); > > > + > > > +static struct attribute *sf_device_attrs[] = { > > > + &dev_attr_sfnum.attr, > > > + NULL, > > > +}; > > > + > > > +static const struct attribute_group sf_attr_group = { > > > + .attrs = sf_device_attrs, > > > +}; > > > + > > > +static const struct attribute_group *sf_attr_groups[2] = { > > > + &sf_attr_group, > > > + NULL > > > +}; > > > > Why the sysfs attribute? Devlink should be able to report device name so > > there's no need for a tie in from the other end. > There isn't a need to enforce a devlink instance creation either, You mean there isn't a need for the SF to be spawned by devlink? > those mlx5 driver does it. Really, no idea what you're trying to say. Read your emails before you send them. > systemd/udev looks after the sysfs attributes, so its parent device, similar to how phys_port_name etc looked for representor side.