Re: [PATCH v2 3/4] switchtec: Add sysfs attributes to the Switchtec driver
From: Logan Gunthorpe
Date: Thu Feb 23 2017 - 17:56:40 EST
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.
> 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
Thanks,
Logan