On Thursday 08 November 2007, Anthony Liguori wrote: > +/* A PCI device has it's own struct device and so does a virtio device so > + * we create a place for the virtio devices to show up in sysfs. I think it > + * would make more sense for virtio to not insist on having it's own device. */ > +static struct device virtio_pci_root = { > + .parent = NULL, > + .bus_id = "virtio-pci", > +}; > + > +/* Unique numbering for devices under the kvm root */ > +static unsigned int dev_index; > + ... > +/* the PCI probing function */ > +static int __devinit virtio_pci_probe(struct pci_dev *pci_dev, > + const struct pci_device_id *id) > +{ > + struct virtio_pci_device *vp_dev; > + int err; > + > + /* allocate our structure and fill it out */ > + vp_dev = kzalloc(sizeof(struct virtio_pci_device), GFP_KERNEL); > + if (vp_dev == NULL) > + return -ENOMEM; > + > + vp_dev->pci_dev = pci_dev; > + vp_dev->vdev.dev.parent = &virtio_pci_root; If you use vp_dev->vdev.dev.parent = &pci_dev->dev; Then there is no need for the special kvm root device, and the actual virtio device shows up in a more logical place, under where it is really (virtually) attached. Arnd <>< _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization