Am 24.06.2013 08:55, schrieb peter.crosthwa...@xilinx.com: > From: Peter Crosthwaite <peter.crosthwa...@xilinx.com> > > Define and use standard QOM cast macro. Remove usages of DO_UPCAST > and direct -> style upcasting. > > Signed-off-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> > --- > > hw/ide/ahci.h | 5 +++++ > hw/ide/ich.c | 10 +++++----- > 2 files changed, 10 insertions(+), 5 deletions(-) > > diff --git a/hw/ide/ahci.h b/hw/ide/ahci.h > index 341a571..916bef0 100644 > --- a/hw/ide/ahci.h > +++ b/hw/ide/ahci.h > @@ -305,6 +305,11 @@ typedef struct AHCIPCIState { > AHCIState ahci; > } AHCIPCIState; > > +#define TYPE_ICH_AHCI "ich9-ahci"
Let's be as precise as for the LSI SCSI HBA and name this ICH9. :) > + > +#define ICH_AHCI(obj) \ > + OBJECT_CHECK(AHCIPCIState, (obj), TYPE_ICH_AHCI) Wondering if this is specific to ICH(9)? Alex? Leaving it as is for now, renaming is an easy follow-up. > + > extern const VMStateDescription vmstate_ahci; > > #define VMSTATE_AHCI(_field, _state) { \ > diff --git a/hw/ide/ich.c b/hw/ide/ich.c > index 6c0c0c2..c3cbf2a 100644 > --- a/hw/ide/ich.c > +++ b/hw/ide/ich.c > @@ -92,7 +92,7 @@ static const VMStateDescription vmstate_ich9_ahci = { > > static void pci_ich9_reset(DeviceState *dev) > { > - struct AHCIPCIState *d = DO_UPCAST(struct AHCIPCIState, card.qdev, dev); > + struct AHCIPCIState *d = ICH_AHCI(dev); Let's drop the "struct" while touching the line. Thanks, applied to qom-next: https://github.com/afaerber/qemu-cpu/commits/qom-next Andreas > > ahci_reset(&d->ahci); > } > @@ -102,9 +102,9 @@ static int pci_ich9_ahci_init(PCIDevice *dev) > struct AHCIPCIState *d; > int sata_cap_offset; > uint8_t *sata_cap; > - d = DO_UPCAST(struct AHCIPCIState, card, dev); > + d = ICH_AHCI(dev); > > - ahci_init(&d->ahci, &dev->qdev, pci_get_address_space(dev), 6); > + ahci_init(&d->ahci, DEVICE(dev), pci_get_address_space(dev), 6); > > pci_config_set_prog_interface(d->card.config, AHCI_PROGMODE_MAJOR_REV_1); > > @@ -141,7 +141,7 @@ static int pci_ich9_ahci_init(PCIDevice *dev) > static void pci_ich9_uninit(PCIDevice *dev) > { > struct AHCIPCIState *d; > - d = DO_UPCAST(struct AHCIPCIState, card, dev); > + d = ICH_AHCI(dev); > > msi_uninit(dev); > ahci_uninit(&d->ahci); > @@ -163,7 +163,7 @@ static void ich_ahci_class_init(ObjectClass *klass, void > *data) > } > > static const TypeInfo ich_ahci_info = { > - .name = "ich9-ahci", > + .name = TYPE_ICH_AHCI, > .parent = TYPE_PCI_DEVICE, > .instance_size = sizeof(AHCIPCIState), > .class_init = ich_ahci_class_init, > -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg