diff --git a/hw/ide/pci.c b/hw/ide/pci.c index 9504e4457e..81bc6a737b 100644 --- a/hw/ide/pci.c +++ b/hw/ide/pci.c @@ -62,7 +62,7 @@ static void cmd646_update_irq(PCIIDEState *d); static void ide_map(PCIDevice *pci_dev, int region_num, uint32_t addr, uint32_t size, int type) { - PCIIDEState *d = (PCIIDEState *)pci_dev; + PCIIDEState *d = DO_UPCAST(PCIIDEState, dev, pci_dev); IDEBus *bus; if (region_num <= 3) { @@ -247,7 +247,7 @@ static void bmdma_addr_writel(void *opaque, uint32_t addr, uint32_t val) static void bmdma_map(PCIDevice *pci_dev, int region_num, uint32_t addr, uint32_t size, int type) { - PCIIDEState *d = (PCIIDEState *)pci_dev; + PCIIDEState *d = DO_UPCAST(PCIIDEState, dev, pci_dev); int i; for(i = 0;i < 2; i++) {