diff mbox

hw/vfio/pci-quirks: Set category of the "vfio-pci-igd-lpc-bridge" device

Message ID 1485244958-25911-1-git-send-email-thuth@redhat.com
State New
Headers show

Commit Message

Thomas Huth Jan. 24, 2017, 8:02 a.m. UTC
The device has "bridge" in its name, so it should obviously be in
the category DEVICE_CATEGORY_BRIDGE.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/vfio/pci-quirks.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Alex Williamson Feb. 3, 2017, 6:10 p.m. UTC | #1
On Tue, 24 Jan 2017 09:02:38 +0100
Thomas Huth <thuth@redhat.com> wrote:

> The device has "bridge" in its name, so it should obviously be in
> the category DEVICE_CATEGORY_BRIDGE.

Well, physical device is a bridge, but this is really just a stub.
Does that count?  It doesn't create a subordinate bus that can actually
host devices.  Thanks,

Alex

> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  hw/vfio/pci-quirks.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c
> index 811eecd..4891b37 100644
> --- a/hw/vfio/pci-quirks.c
> +++ b/hw/vfio/pci-quirks.c
> @@ -1185,6 +1185,7 @@ static void vfio_pci_igd_lpc_bridge_class_init(ObjectClass *klass, void *data)
>      DeviceClass *dc = DEVICE_CLASS(klass);
>      PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
>  
> +    set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
>      dc->desc = "VFIO dummy ISA/LPC bridge for IGD assignment";
>      dc->hotpluggable = false;
>      k->realize = vfio_pci_igd_lpc_bridge_realize;
Thomas Huth Feb. 6, 2017, 10:09 a.m. UTC | #2
On 03.02.2017 19:10, Alex Williamson wrote:
> On Tue, 24 Jan 2017 09:02:38 +0100
> Thomas Huth <thuth@redhat.com> wrote:
> 
>> The device has "bridge" in its name, so it should obviously be in
>> the category DEVICE_CATEGORY_BRIDGE.
> 
> Well, physical device is a bridge, but this is really just a stub.
> Does that count?  It doesn't create a subordinate bus that can actually
> host devices.

The device category is only used for sorting the device into a category
in the help output when the user runs QEMU with "-device ?". The
DEVICE_CATEGORY_BRIDGE is title there "Controller/Bridge/Hub devices",
so IMHO that should be fine for this device. Otherwise it should maybe
go into DEVICE_CATEGORY_MISC instead - but at least it should not stay
uncategorized, all devices that show up in the "-device ?" help text
should eventually get a category.

 Thomas
Alex Williamson Feb. 6, 2017, 4:38 p.m. UTC | #3
On Mon, 6 Feb 2017 11:09:45 +0100
Thomas Huth <thuth@redhat.com> wrote:

> On 03.02.2017 19:10, Alex Williamson wrote:
> > On Tue, 24 Jan 2017 09:02:38 +0100
> > Thomas Huth <thuth@redhat.com> wrote:
> >   
> >> The device has "bridge" in its name, so it should obviously be in
> >> the category DEVICE_CATEGORY_BRIDGE.  
> > 
> > Well, physical device is a bridge, but this is really just a stub.
> > Does that count?  It doesn't create a subordinate bus that can actually
> > host devices.  
> 
> The device category is only used for sorting the device into a category
> in the help output when the user runs QEMU with "-device ?". The
> DEVICE_CATEGORY_BRIDGE is title there "Controller/Bridge/Hub devices",
> so IMHO that should be fine for this device. Otherwise it should maybe
> go into DEVICE_CATEGORY_MISC instead - but at least it should not stay
> uncategorized, all devices that show up in the "-device ?" help text
> should eventually get a category.

Ok, I'll queue this for my next pull request.  Thanks,

Alex
diff mbox

Patch

diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c
index 811eecd..4891b37 100644
--- a/hw/vfio/pci-quirks.c
+++ b/hw/vfio/pci-quirks.c
@@ -1185,6 +1185,7 @@  static void vfio_pci_igd_lpc_bridge_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
     PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
 
+    set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
     dc->desc = "VFIO dummy ISA/LPC bridge for IGD assignment";
     dc->hotpluggable = false;
     k->realize = vfio_pci_igd_lpc_bridge_realize;