Re: [PATCH V2 3/5] vDPA: introduce vDPA bus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2020/2/12 下午8:51, Jason Gunthorpe wrote:
On Wed, Feb 12, 2020 at 03:55:31PM +0800, Jason Wang wrote:
The ida_simple_remove should probably be part of the class release
function to make everything work right
It looks to me bus instead of class is the correct abstraction here since
the devices share a set of programming interface but not the semantics.
device_release() doesn't call the bus release?


What it did is:

        if (dev->release)
                dev->release(dev);
        else if (dev->type && dev->type->release)
                dev->type->release(dev);
        else if (dev->class && dev->class->dev_release)
                dev->class->dev_release(dev);
        else
                WARN(1, KERN_ERR "Device '%s' does not have a release() function, it is broken and must be fixed. See Documentation/kobject.txt.\n",
                        dev_name(dev));

So it looks not.


  You have dev, type or
class to choose from. Type is rarely used and doesn't seem to be used
by vdpa, so class seems the right choice

Jason


Yes, but my understanding is class and bus are mutually exclusive. So we can't add a class to a device which is already attached on a bus.

Thanks






[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux