On 12/16/2019 12:45 PM, Greg KH wrote: > On Mon, Dec 16, 2019 at 03:48:05AM +0000, Parav Pandit wrote: [..] >>> I feel like the virtual bus code is getting better, but this use of the >>> code, um, no, not ok. >>> >>> Either way, this series is NOT ready to be merged anywhere, please do >>> not try to rush things. >>> >>> Also, what ever happened to my "YOU ALL MUST AGREE TO WORK TOGETHER" >>> requirement between this group, and the other group trying to do the >>> same thing? I want to see signed-off-by from EVERYONE involved before >>> we are going to consider this thing. >> >> I am working on RFC where PCI device is sliced to create sub-functions. >> Each sub-function/slice is created dynamically by the user. >> User gives sf-number at creation time which will be used for plumbing by >> systemd/udev, devlink ports. > > That sounds exactly what is wanted here as well, right? Not exactly. Here, in i40 use case - there is a PCI function. This PCI function is used by two drivers: (1) vendor_foo_netdev.ko creating Netdevice (class net) (2) vendor_foo_rdma.ko creating RDMA device (class infiniband) And both drivers are notified using matching service virtbus, which attempts to create to two virtbus_devices with different driver-id, one for each class of device. However, devices of both class (net, infiniband) will have parent device as PCI device. In case of sub-functions, created rdma and netdevice will have parent as the sub-function 'struct device'. This way those SFs gets their systemd/udev plumbing done rightly. > >> This sub-function will have sysfs attributes = sfnumber, irq vectors, >> PCI BAR resource files. >> sfnumber as sysfs file will be used by systemd/udev to have >> deterministic names of netdev and rdma device created on top of >> sub-function's 'struct device'. >> >> As opposed to that, matching service devices won't have such attributes. >> >> We stayed away from using mdev bus for such dual purpose in past. > > That is good. > >> Should we have virtbus that holds 'struct device' created for different >> purpose and have different sysfs attributes? Is it ok? > > That's fine to do, I was expecting that to happen. > ok. Thanks a lot. Lets understand above additional (non sysfs) difference as well on how virtbus device is getting used differently between sub-functions and matching service purposes.