qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Andreas Färber" <afaerber@suse.de>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: [Qemu-devel] [PULL 18/55] acpi/piix4: QOM parent field cleanup
Date: Tue, 23 Jul 2013 01:45:59 +0200	[thread overview]
Message-ID: <1374536796-13983-19-git-send-email-afaerber@suse.de> (raw)
In-Reply-To: <1374536796-13983-1-git-send-email-afaerber@suse.de>

Replace direct uses of PIIX4PMState::dev with QOM casts and rename it to
parent_obj.

Acked-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/acpi/piix4.c | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
index 5cd286e..c885690 100644
--- a/hw/acpi/piix4.c
+++ b/hw/acpi/piix4.c
@@ -64,7 +64,9 @@ typedef struct CPUStatus {
 } CPUStatus;
 
 typedef struct PIIX4PMState {
-    PCIDevice dev;
+    /*< private >*/
+    PCIDevice parent_obj;
+    /*< public >*/
 
     MemoryRegion io;
     MemoryRegion io_gpe;
@@ -135,11 +137,12 @@ static void pm_tmr_timer(ACPIREGS *ar)
 static void apm_ctrl_changed(uint32_t val, void *arg)
 {
     PIIX4PMState *s = arg;
+    PCIDevice *d = PCI_DEVICE(s);
 
     /* ACPI specs 3.0, 4.7.2.5 */
     acpi_pm1_cnt_update(&s->ar, val == ACPI_ENABLE, val == ACPI_DISABLE);
 
-    if (s->dev.config[0x5b] & (1 << 1)) {
+    if (d->config[0x5b] & (1 << 1)) {
         if (s->smi_irq) {
             qemu_irq_raise(s->smi_irq);
         }
@@ -148,24 +151,27 @@ static void apm_ctrl_changed(uint32_t val, void *arg)
 
 static void pm_io_space_update(PIIX4PMState *s)
 {
+    PCIDevice *d = PCI_DEVICE(s);
     uint32_t pm_io_base;
 
-    pm_io_base = le32_to_cpu(*(uint32_t *)(s->dev.config + 0x40));
+    pm_io_base = le32_to_cpu(*(uint32_t *)(d->config + 0x40));
     pm_io_base &= 0xffc0;
 
     memory_region_transaction_begin();
-    memory_region_set_enabled(&s->io, s->dev.config[0x80] & 1);
+    memory_region_set_enabled(&s->io, d->config[0x80] & 1);
     memory_region_set_address(&s->io, pm_io_base);
     memory_region_transaction_commit();
 }
 
 static void smbus_io_space_update(PIIX4PMState *s)
 {
-    s->smb_io_base = le32_to_cpu(*(uint32_t *)(s->dev.config + 0x90));
+    PCIDevice *d = PCI_DEVICE(s);
+
+    s->smb_io_base = le32_to_cpu(*(uint32_t *)(d->config + 0x90));
     s->smb_io_base &= 0xffc0;
 
     memory_region_transaction_begin();
-    memory_region_set_enabled(&s->smb.io, s->dev.config[0xd2] & 1);
+    memory_region_set_enabled(&s->smb.io, d->config[0xd2] & 1);
     memory_region_set_address(&s->smb.io, s->smb_io_base);
     memory_region_transaction_commit();
 }
@@ -244,7 +250,7 @@ static int acpi_load_old(QEMUFile *f, void *opaque, int version_id)
     int ret, i;
     uint16_t temp;
 
-    ret = pci_device_load(&s->dev, f);
+    ret = pci_device_load(PCI_DEVICE(s), f);
     if (ret < 0) {
         return ret;
     }
@@ -288,7 +294,7 @@ static const VMStateDescription vmstate_acpi = {
     .load_state_old = acpi_load_old,
     .post_load = vmstate_acpi_post_load,
     .fields      = (VMStateField []) {
-        VMSTATE_PCI_DEVICE(dev, PIIX4PMState),
+        VMSTATE_PCI_DEVICE(parent_obj, PIIX4PMState),
         VMSTATE_UINT16(ar.pm1.evt.sts, PIIX4PMState),
         VMSTATE_UINT16(ar.pm1.evt.en, PIIX4PMState),
         VMSTATE_UINT16(ar.pm1.cnt.cnt, PIIX4PMState),
@@ -359,7 +365,8 @@ static void piix4_update_hotplug(PIIX4PMState *s)
 static void piix4_reset(void *opaque)
 {
     PIIX4PMState *s = opaque;
-    uint8_t *pci_conf = s->dev.config;
+    PCIDevice *d = PCI_DEVICE(s);
+    uint8_t *pci_conf = d->config;
 
     pci_conf[0x58] = 0;
     pci_conf[0x59] = 0;
@@ -387,10 +394,11 @@ static void piix4_pm_powerdown_req(Notifier *n, void *opaque)
 static void piix4_pm_machine_ready(Notifier *n, void *opaque)
 {
     PIIX4PMState *s = container_of(n, PIIX4PMState, machine_ready);
-    MemoryRegion *io_as = pci_address_space_io(&s->dev);
+    PCIDevice *d = PCI_DEVICE(s);
+    MemoryRegion *io_as = pci_address_space_io(d);
     uint8_t *pci_conf;
 
-    pci_conf = s->dev.config;
+    pci_conf = d->config;
     pci_conf[0x5f] = 0x10 |
         (memory_region_present(io_as, 0x378) ? 0x80 : 0);
     pci_conf[0x63] = 0x60;
@@ -403,7 +411,7 @@ static int piix4_pm_initfn(PCIDevice *dev)
     PIIX4PMState *s = PIIX4_PM(dev);
     uint8_t *pci_conf;
 
-    pci_conf = s->dev.config;
+    pci_conf = dev->config;
     pci_conf[0x06] = 0x80;
     pci_conf[0x07] = 0x02;
     pci_conf[0x09] = 0x00;
-- 
1.8.1.4

  parent reply	other threads:[~2013-07-22 23:47 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-22 23:45 [Qemu-devel] [PULL 00/55] QOM devices patch queue 2013-07-22 Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 01/55] hw: Avoid use of QOM type name macros in VMStateDescriptions Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 02/55] net/e1000: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 03/55] net/e1000: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 04/55] net/rtl8139: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 05/55] net/rtl8139: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 06/55] net/pcnet-pci: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 07/55] usb/hcd-xhci: " Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 08/55] usb/hcd-xhci: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 09/55] scsi/lsi53c895a: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 10/55] scsi/lsi53c895a: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 11/55] scsi/megasas: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 12/55] scsi/megasas: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 13/55] scsi/esp-pci: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 14/55] scsi/esp-pci: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 15/55] ide/ich: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 16/55] ide/ich: QOM parent field cleanup Andreas Färber
2013-07-22 23:45 ` [Qemu-devel] [PULL 17/55] acpi/piix4: QOM Upcast Sweep Andreas Färber
2013-07-22 23:45 ` Andreas Färber [this message]
2013-07-22 23:46 ` [Qemu-devel] [PULL 19/55] misc/pci-testdev: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 20/55] misc/pci-testdev: QOM parent field cleanup Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 21/55] display/vmware_vga: QOM casting sweep Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 22/55] display/vmware_vga: QOM parent field cleanup Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 23/55] misc/ivshmem: QOM Upcast Sweep Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 24/55] misc/ivshmem: QOM parent field cleanup Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 25/55] xen/xen_platform: QOM casting sweep Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 26/55] xen/xen_platform: QOM parent field cleanup Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 27/55] sysbus: Document SysBusDeviceClass::init and realize semantics Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 28/55] ohci: QOM'ify some more Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 29/55] ohci: Use QOM realize for OHCI Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 30/55] i440fx: Use type-safe cast instead of direct access of parent dev Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 31/55] i440fx-pcihost: Use QOM realize for i440fx-pcihost Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 32/55] q35: Use type-safe cast instead of direct access of parent dev Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 33/55] q35: Use QOM realize for q35 host bridge Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 34/55] fdc: QOM'ify some more Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 35/55] pflash-cfi01: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 36/55] pflash-cfi02: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 37/55] ahci: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 38/55] fwcfg: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 39/55] scsi/esp: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 40/55] hpet: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 41/55] kvm/clock: " Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 42/55] fdc: Use QOM realize for fdc Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 43/55] fdc: Improve error propagation for QOM realize Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 44/55] pflash_cfi01: Use QOM realize for pflash_cfi01 Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 45/55] pflash_cfi02: Use QOM realize for pflash_cfi02 Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 46/55] ahci: Use QOM realize for ahci Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 47/55] fw_cfg: Use QOM realize for fw_cfg Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 48/55] scsi/esp: Use QOM realize for scsi esp Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 49/55] megasas: Legacy command line handling fix Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 50/55] scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline() Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 51/55] hpet: Use QOM realize for hpet Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 52/55] kvm/clock: Use QOM realize for kvmclock Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 53/55] kvmvapic: Use QOM realize Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 54/55] ioapic: Use QOM realize for ioapic Andreas Färber
2013-07-22 23:46 ` [Qemu-devel] [PULL 55/55] isa-bus: Drop isabus_bridge_init() since it does nothing Andreas Färber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1374536796-13983-19-git-send-email-afaerber@suse.de \
    --to=afaerber@suse.de \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).