From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:42445) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAga6-0006oe-7M for qemu-devel@nongnu.org; Thu, 22 Mar 2012 07:53:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SAga4-0005Ti-9b for qemu-devel@nongnu.org; Thu, 22 Mar 2012 07:53:25 -0400 Received: from mx1.redhat.com ([209.132.183.28]:31485) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAga4-0005T9-2F for qemu-devel@nongnu.org; Thu, 22 Mar 2012 07:53:24 -0400 Date: Thu, 22 Mar 2012 13:53:33 +0200 From: "Michael S. Tsirkin" Message-ID: <20120322115332.GA13043@redhat.com> References: <1332407367-26551-1-git-send-email-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1332407367-26551-1-git-send-email-david@gibson.dropbear.id.au> Subject: Re: [Qemu-devel] [PATCH] Remove PCI class code from virtio balloon device List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson Cc: aliguori@us.ibm.com, Rusty Russell , qemu-devel@nongnu.org On Thu, Mar 22, 2012 at 08:09:27PM +1100, David Gibson wrote: > diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c > index a0fb7c1..1fd5768 100644 > --- a/hw/virtio-pci.c > +++ b/hw/virtio-pci.c > @@ -790,6 +790,10 @@ static int virtio_balloon_init_pci(PCIDevice *pci_dev) > VirtIOPCIProxy *proxy = DO_UPCAST(VirtIOPCIProxy, pci_dev, pci_dev); > VirtIODevice *vdev; > > + if (proxy->class_code != PCI_CLASS_OTHERS && > + proxy->class_code != PCI_CLASS_MEMORY_RAM) /* qemu < 1.1 */ > + proxy->class_code = PCI_CLASS_OTHERS; > + {} around if. > vdev = virtio_balloon_init(&pci_dev->qdev); > if (!vdev) { > return -1; > @@ -905,6 +909,7 @@ static TypeInfo virtio_serial_info = { > }; > > static Property virtio_balloon_properties[] = { > + DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, PCI_CLASS_OTHERS), > DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features), > DEFINE_PROP_END_OF_LIST(), > }; Sorry to bug you - why not set + DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, 0), and then + if (!proxy->class_code) { + proxy->class_code = PCI_CLASS_OTHERS; + } This is what other devices do. > @@ -919,7 +924,7 @@ static void virtio_balloon_class_init(ObjectClass *klass, void *data) > k->vendor_id = PCI_VENDOR_ID_REDHAT_QUMRANET; > k->device_id = PCI_DEVICE_ID_VIRTIO_BALLOON; > k->revision = VIRTIO_PCI_ABI_VERSION; > - k->class_id = PCI_CLASS_MEMORY_RAM; > + k->class_id = PCI_CLASS_OTHERS; > dc->reset = virtio_pci_reset; > dc->props = virtio_balloon_properties; > } > -- > 1.7.9.1