On Thu, Feb 23, 2017 at 03:56:21PM -0700, Logan Gunthorpe wrote: > > > On 23/02/17 03:43 PM, Bjorn Helgaas wrote: > > This path seems a little generic. I don't see other cases where a > > product brand name ("Switchtec") appears at the top level of > > /sys/class/... > > Ok, well we are certainly open to suggestions, but there isn't really a > generic version of this device available so I'm not sure how we would > change that. Per device-type classes aren't that uncommon though, a > quick grep shows things like: > > platform/chrome/cros_ec_dev.c:40:static struct class cros_class > s390/char/raw3270.h:94:extern struct class *class3270; > net/ethernet/hisilicon/hns/hnae.c:19:static struct class *hnae_class; > mfd/ucb1x00-core.c:490:static struct class ucb1x00_class > > > My question is based on "ls Documentation/ABI/testing/sysfs-class*", > > not on any great knowledge of sysfs, and I see Greg has already given > > a Reviewed-by for this, so maybe this is the right approach. > > > > It does seem like the path could include a clue that this is related > > to PCI. > > I mean, we could change it to pci-switchtec or something if you think > that would be better..?? But I'm not sure how else to accommodate this. I'm OK with it as-is. > > Is there a link to the switch PCI device itself, e.g., to > > /sys/devices/pci*? Should these attributes simply be put in a > > subdirectory there, e.g., in > > > > /sys/devices/pci0000:00/0000:00:00.0/stats/... > > Well our device shows up here in the tree: > > /sys/devices/pci0000:00/0000:00:03.0/0000:03:00.1/switchtec/switchtec0 > > (Which userspace can get to by following the link at > /sys/class/switchtec/switchtec0) The switch is then always: > > /sys/devices/pci0000:00/0000:00:03.0 That's exactly what I was looking for; I just didn't realize it was connected like this. Bjorn