On Di, 2016-10-04 at 09:43 +0200, Gerd Hoffmann wrote: > Hi, > > > diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c > > b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c > > index a59d0e309bfc..1fcf739bf509 100644 > > --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c > > +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c > > @@ -68,6 +68,10 @@ int drm_virtio_init(struct drm_driver *driver, > > struct virtio_device *vdev) > > dev->pdev = pdev; > > if (vga) > > virtio_pci_kick_out_firmware_fb(pdev); > > + > > + ret = drm_dev_set_unique(dev, dev_name(dev->pdev)); > > + if (ret) > > + goto err_free; > > } > > Approach looks sensible to me, I'll give it a try ... Well, dev_name() returns a string without the "pci:" prefix, we have to add that to make things actually work, like this: --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -60,13 +60,22 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) if (strcmp(vdev->dev.parent->bus->name, "pci") == 0) { struct pci_dev *pdev = to_pci_dev(vdev->dev.parent); + const char *pname = dev_name(&pdev->dev); bool vga = (pdev->class >> 8) == PCI_CLASS_DISPLAY_VGA; + char unique[20]; - DRM_INFO("pci: %s detected\n", - vga ? "virtio-vga" : "virtio-gpu-pci"); + DRM_INFO("pci: %s detected at %s\n", + vga ? "virtio-vga" : "virtio-gpu-pci", + pname); dev->pdev = pdev; if (vga) virtio_pci_kick_out_firmware_fb(pdev); + + snprintf(unique, sizeof(unique), "pci:%s", pname); + ret = drm_dev_set_unique(dev, unique); + if (ret) + goto err_free; + } ret = drm_dev_register(dev, 0); And a partial revert of commit a742946a1ba57e24e8be205ea87224c05b38c380 to re-export drm_dev_set_unique(). Pushed to git://git.kraxel.org/linux drm-qemu cheers, Gerd _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel