Thread (36 messages) 36 messages, 4 authors, 2020-02-19

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

flat view

From: Jason Wang <hidden>
Date: 2020-02-13 03:34:34
Also in: kvm, lkml, netdev

On 2020/2/12 下午8:51, Jason Gunthorpe wrote:
On Wed, Feb 12, 2020 at 03:55:31PM +0800, Jason Wang wrote:
quoted
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help