diff mbox

Fixup some dynamic casts in the Qemu device tree to correspond to the QOM type-checking system. These patches change from using Linux kernel style upcasts to typesafe object oriented casts with runtime checking semantics.

Message ID 1376937210-21394-1-git-send-email-ncmike@ncultra.org
State New
Headers show

Commit Message

Mike D. Day Aug. 19, 2013, 6:33 p.m. UTC
These patches apply to Paolo Bonzini's rcu tree:

https://github.com/bonzini/qemu/tree/rcu
commit 781e47bf1693a80b84eec298a6a1c7b29ab2c135

Signed-off-by: Mike Day <ncmike@ncultra.org>
---
 hw/misc/ivshmem.c              | 2 +-
 hw/pci-bridge/pci_bridge_dev.c | 6 +++---
 hw/pci/pci_bridge.c            | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

Comments

Peter Maydell Aug. 19, 2013, 6:47 p.m. UTC | #1
On 19 August 2013 19:33, Mike Day <ncmike@ncultra.org> wrote:
> These patches apply to Paolo Bonzini's rcu tree:
>
> https://github.com/bonzini/qemu/tree/rcu
> commit 781e47bf1693a80b84eec298a6a1c7b29ab2c135
>
> Signed-off-by: Mike Day <ncmike@ncultra.org>
> ---
>  hw/misc/ivshmem.c              | 2 +-
>  hw/pci-bridge/pci_bridge_dev.c | 6 +++---
>  hw/pci/pci_bridge.c            | 2 +-
>  3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
> index ebcb52a..46d8c27 100644
> --- a/hw/misc/ivshmem.c
> +++ b/hw/misc/ivshmem.c
> @@ -789,7 +789,7 @@ static void pci_ivshmem_uninit(PCIDevice *dev)
>
>  static void pci_ivshmem_instance_finalize(Object *obj)
>  {
> -    IVShmemState *s = IVSHMEM(dev);
> +    IVShmemState *s = IVSHMEM(obj);

This should have been a flat-out compiler error, right?

>      if (s->migration_blocker) {
>          migrate_del_blocker(s->migration_blocker);
> diff --git a/hw/pci-bridge/pci_bridge_dev.c b/hw/pci-bridge/pci_bridge_dev.c
> index c995d5d..22caf14 100644
> --- a/hw/pci-bridge/pci_bridge_dev.c
> +++ b/hw/pci-bridge/pci_bridge_dev.c
> @@ -87,7 +87,6 @@ shpc_error:
>  bridge_error:
>      return err;
>  }
> -

Stray blank line change.

thanks
-- PMM
Mike D. Day Aug. 19, 2013, 6:57 p.m. UTC | #2
Peter Maydell <peter.maydell@linaro.org> writes:

> On 19 August 2013 19:33, Mike Day <ncmike@ncultra.org> wrote:
>> These patches apply to Paolo Bonzini's rcu tree:
>>
>> https://github.com/bonzini/qemu/tree/rcu
>> commit 781e47bf1693a80b84eec298a6a1c7b29ab2c135
>>
>> Signed-off-by: Mike Day <ncmike@ncultra.org>
>> ---
>>  hw/misc/ivshmem.c              | 2 +-
>>  hw/pci-bridge/pci_bridge_dev.c | 6 +++---
>>  hw/pci/pci_bridge.c            | 2 +-
>>  3 files changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
>> index ebcb52a..46d8c27 100644
>> --- a/hw/misc/ivshmem.c
>> +++ b/hw/misc/ivshmem.c
>> @@ -789,7 +789,7 @@ static void pci_ivshmem_uninit(PCIDevice *dev)
>>
>>  static void pci_ivshmem_instance_finalize(Object *obj)
>>  {
>> -    IVShmemState *s = IVSHMEM(dev);
>> +    IVShmemState *s = IVSHMEM(obj);
>
> This should have been a flat-out compiler error, right?

Yes, correct, but Paolo hasn't previously submitted this specific change
code afaik.

>>      if (s->migration_blocker) {
>>          migrate_del_blocker(s->migration_blocker);
>> diff --git a/hw/pci-bridge/pci_bridge_dev.c b/hw/pci-bridge/pci_bridge_dev.c
>> index c995d5d..22caf14 100644
>> --- a/hw/pci-bridge/pci_bridge_dev.c
>> +++ b/hw/pci-bridge/pci_bridge_dev.c
>> @@ -87,7 +87,6 @@ shpc_error:
>>  bridge_error:
>>      return err;
>>  }
>> -
>
> Stray blank line change.

Thanks - and git just found it for me too. Apologies.

Mike
Eric Blake Aug. 19, 2013, 7:25 p.m. UTC | #3
On 08/19/2013 12:33 PM, Mike Day wrote:

Your subject line is atrociously long.  Please put a blank line between
the summary (ca. 60 characters or less) and the rest of your commit
message.  'git shortlog -30' will give you a hint on typical summary naming.
Paolo Bonzini Aug. 19, 2013, 8 p.m. UTC | #4
Il 19/08/2013 20:57, Mike Day ha scritto:
>>> >> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
>>> >> index ebcb52a..46d8c27 100644
>>> >> --- a/hw/misc/ivshmem.c
>>> >> +++ b/hw/misc/ivshmem.c
>>> >> @@ -789,7 +789,7 @@ static void pci_ivshmem_uninit(PCIDevice *dev)
>>> >>
>>> >>  static void pci_ivshmem_instance_finalize(Object *obj)
>>> >>  {
>>> >> -    IVShmemState *s = IVSHMEM(dev);
>>> >> +    IVShmemState *s = IVSHMEM(obj);
>> >
>> > This should have been a flat-out compiler error, right?
> Yes, correct, but Paolo hasn't previously submitted this specific change
> code afaik.
> 

Yes, it's just a conflict resolution pasto.

I squashed the changes into the branch.

Paolo
diff mbox

Patch

diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index ebcb52a..46d8c27 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivshmem.c
@@ -789,7 +789,7 @@  static void pci_ivshmem_uninit(PCIDevice *dev)
 
 static void pci_ivshmem_instance_finalize(Object *obj)
 {
-    IVShmemState *s = IVSHMEM(dev);
+    IVShmemState *s = IVSHMEM(obj);
 
     if (s->migration_blocker) {
         migrate_del_blocker(s->migration_blocker);
diff --git a/hw/pci-bridge/pci_bridge_dev.c b/hw/pci-bridge/pci_bridge_dev.c
index c995d5d..22caf14 100644
--- a/hw/pci-bridge/pci_bridge_dev.c
+++ b/hw/pci-bridge/pci_bridge_dev.c
@@ -87,7 +87,6 @@  shpc_error:
 bridge_error:
     return err;
 }
-
 static void pci_bridge_dev_exitfn(PCIDevice *dev)
 {
     PCIBridgeDev *bridge_dev = PCI_BRIDGE_DEV(dev);
@@ -102,8 +101,9 @@  static void pci_bridge_dev_exitfn(PCIDevice *dev)
 static void pci_bridge_dev_instance_finalize(Object *obj)
 {
     PCIDevice *dev = PCI_DEVICE(obj);
-    PCIBridge *br = DO_UPCAST(PCIBridge, dev, dev);
-    PCIBridgeDev *bridge_dev = DO_UPCAST(PCIBridgeDev, bridge, br);
+    PCIBridge *br = PCI_BRIDGE(dev);
+    PCIBridgeDev *bridge_dev = PCI_BRIDGE_DEV(br);
+    
     shpc_free(dev);
     memory_region_destroy(&bridge_dev->bar);
     pci_bridge_free(dev);
diff --git a/hw/pci/pci_bridge.c b/hw/pci/pci_bridge.c
index 63f9912..307e076 100644
--- a/hw/pci/pci_bridge.c
+++ b/hw/pci/pci_bridge.c
@@ -391,7 +391,7 @@  void pci_bridge_exitfn(PCIDevice *pci_dev)
 
 void pci_bridge_free(PCIDevice *pci_dev)
 {
-    PCIBridge *s = DO_UPCAST(PCIBridge, dev, pci_dev);
+    PCIBridge *s = PCI_BRIDGE(pci_dev);
     pci_bridge_region_cleanup(s, s->windows);
     memory_region_destroy(&s->address_space_mem);
     memory_region_destroy(&s->address_space_io);