[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 05/11] igd: TYPE_IGD_PASSTHROUGH_I440FX_PCI_D
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH v3 05/11] igd: TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE: call parent realize |
Date: |
Tue, 19 Jan 2016 13:13:02 -0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, Jan 06, 2016 at 04:45:01PM +0100, Gerd Hoffmann wrote:
> > >
> > > +static void (*i440fx_realize)(PCIDevice *pci_dev, Error **errp);
> > > static void igd_pt_i440fx_realize(PCIDevice *pci_dev, Error **errp)
> > > {
> > > + Error *err = NULL;
> > > uint32_t val = 0;
> > > int rc, i, num;
> > > int pos, len;
> >
> > Can't we get the parent PCIDeviceClass realize function from pci_dev? So
> > that we don't have to introduce i440fx_realize?
>
> I don't think so ...
>
> > >
> > > + i440fx_realize = k->realize;
> > > k->realize = igd_pt_i440fx_realize;
>
> ... because we are overriding it right here.
Many device classes have a parent_realize field so they can keep
a pointer to the original realize function. It's better than a
static variable.
--
Eduardo
- [Qemu-devel] [PATCH v3 01/11] pc: wire up TYPE_IGD_PASSTHROUGH_I440FX_PCI_DEVICE for !xen, (continued)
[Qemu-devel] [PATCH v3 08/11] igd: add q35 support, Gerd Hoffmann, 2016/01/05
[Qemu-devel] [PATCH v3 03/11] pc: move igd support code to igd.c, Gerd Hoffmann, 2016/01/05
[Qemu-devel] [PATCH v3 07/11] igd: revamp host config read, Gerd Hoffmann, 2016/01/05
[Qemu-devel] [PATCH v3 10/11] igd: handle igd-passthrough-isa-bridge setup in realize(), Gerd Hoffmann, 2016/01/05