diff mbox

[v9,15/37] qom: Swap 'name' next to visitor in ObjectPropertyAccessor

Message ID 1453219845-30939-16-git-send-email-eblake@redhat.com
State New
Headers show

Commit Message

Eric Blake Jan. 19, 2016, 4:10 p.m. UTC
Similar to the previous patch, it's nice to have all functions
in the tree that involve a visitor and a name for conversion to
or from QAPI to consistently stick the 'name' parameter next
to the Visitor parameter.

Done by manually changing include/qom/object.h and qom/object.c,
then running this Coccinelle script and touching up the fallout
(Coccinelle insisted on adding some trailing whitespace).

    @ rule1 @
    identifier fn;
    type Object, Visitor, Error;
    identifier obj, v, opaque, name, errp;
    @@
     void fn
    - (Object *obj, Visitor *v, void *opaque, const char *name,
    + (Object *obj, Visitor *v, const char *name, void *opaque,
       Error **errp) { ... }

    @@
    identifier rule1.fn;
    expression obj, v, opaque, name, errp;
    @@
     fn(obj, v,
    -   opaque, name,
    +   name, opaque,
        errp)

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

---
v9: typo fix in commit message, rebase to master context
v8: new patch
---
 backends/hostmem.c               |  16 +++---
 bootdevice.c                     |   8 +--
 hw/acpi/ich9.c                   |  35 +++++-------
 hw/block/nvme.c                  |   8 +--
 hw/core/machine.c                |  14 ++---
 hw/core/qdev-properties-system.c |  32 +++++------
 hw/core/qdev-properties.c        | 116 +++++++++++++++++++--------------------
 hw/core/qdev.c                   |   5 +-
 hw/i386/pc.c                     |  29 +++++-----
 hw/ide/qdev.c                    |   8 +--
 hw/intc/xics.c                   |  12 ++--
 hw/isa/lpc_ich9.c                |   5 +-
 hw/mem/pc-dimm.c                 |   4 +-
 hw/misc/edu.c                    |   4 +-
 hw/misc/tmp105.c                 |   8 +--
 hw/net/ne2000-isa.c              |  10 ++--
 hw/pci-host/piix.c               |  10 ++--
 hw/pci-host/q35.c                |  13 ++---
 hw/ppc/spapr_drc.c               |  16 +++---
 hw/usb/dev-storage.c             |   8 +--
 hw/virtio/virtio-balloon.c       |   8 +--
 include/qom/object.h             |   4 +-
 memory.c                         |  18 +++---
 net/dump.c                       |   8 +--
 net/filter-buffer.c              |  10 ++--
 qom/object.c                     |  75 +++++++++++++------------
 target-i386/cpu.c                |  66 +++++++++++-----------
 target-ppc/translate_init.c      |   8 +--
 tests/test-qdev-global-props.c   |  14 ++---
 29 files changed, 282 insertions(+), 290 deletions(-)

Comments

Markus Armbruster Jan. 20, 2016, 6:49 p.m. UTC | #1
Eric Blake <eblake@redhat.com> writes:

> Similar to the previous patch, it's nice to have all functions
> in the tree that involve a visitor and a name for conversion to
> or from QAPI to consistently stick the 'name' parameter next
> to the Visitor parameter.
>
> Done by manually changing include/qom/object.h and qom/object.c,
> then running this Coccinelle script and touching up the fallout
> (Coccinelle insisted on adding some trailing whitespace).
>
>     @ rule1 @
>     identifier fn;
>     type Object, Visitor, Error;
>     identifier obj, v, opaque, name, errp;
>     @@
>      void fn
>     - (Object *obj, Visitor *v, void *opaque, const char *name,
>     + (Object *obj, Visitor *v, const char *name, void *opaque,
>        Error **errp) { ... }

I think we want to match void functions with exactly these parameter
types.  The parameter names don't matter.

However, the actual match is looser!  For instance, it also matches

    void foo(int *pi, unsigned *pu, void *vp, const char *cp, double **dpp)
    {
    }

This could mess up unrelated function.  I could double-check it doesn't,
but I'd rather have a narrower match instead.  Can't give one offhand,
though.  Ideas?

>
>     @@
>     identifier rule1.fn;
>     expression obj, v, opaque, name, errp;
>     @@
>      fn(obj, v,
>     -   opaque, name,
>     +   name, opaque,
>         errp)

The rule1.fn restricts the match to functions changed by the previous
rule.  Good.

>
> Signed-off-by: Eric Blake <eblake@redhat.com>
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Eric Blake Jan. 20, 2016, 8:54 p.m. UTC | #2
On 01/20/2016 11:49 AM, Markus Armbruster wrote:
> Eric Blake <eblake@redhat.com> writes:
> 
>> Similar to the previous patch, it's nice to have all functions
>> in the tree that involve a visitor and a name for conversion to
>> or from QAPI to consistently stick the 'name' parameter next
>> to the Visitor parameter.
>>
>> Done by manually changing include/qom/object.h and qom/object.c,
>> then running this Coccinelle script and touching up the fallout
>> (Coccinelle insisted on adding some trailing whitespace).
>>
>>     @ rule1 @
>>     identifier fn;
>>     type Object, Visitor, Error;
>>     identifier obj, v, opaque, name, errp;
>>     @@
>>      void fn
>>     - (Object *obj, Visitor *v, void *opaque, const char *name,
>>     + (Object *obj, Visitor *v, const char *name, void *opaque,
>>        Error **errp) { ... }
> 
> I think we want to match void functions with exactly these parameter
> types.  The parameter names don't matter.

The parameter names shouldn't matter; the 'identifier obj' should have
been enough to make 'obj' a metavariable matching any actual parameter name.

> 
> However, the actual match is looser!  For instance, it also matches
> 
>     void foo(int *pi, unsigned *pu, void *vp, const char *cp, double **dpp)
>     {
>     }

Uggh. My intent was to match exactly 'Object *' and 'Visitor *' as the
first two types, where 'int *' and 'unsigned *' are NOT matches.  But I
don't know Coccinelle well enough to make that blatantly obvious (is my
declaration of 'type Object' not correct?).

> 
> This could mess up unrelated function.  I could double-check it doesn't,
> but I'd rather have a narrower match instead.  Can't give one offhand,
> though.  Ideas?

Is 'typedef' better than 'type' for constraining the type of the first
two arguments?  Or does Coccinelle do literal matches on anything you
don't pre-declare, as in:

     @ rule1 @
     identifier fn;
     identifier obj, v, opaque, name, errp;
     @@
      void fn
     - (Object *obj, Visitor *v, void *opaque, const char *name,
     + (Object *obj, Visitor *v, const char *name, void *opaque,
        Error **errp) { ... }


Fortunately, a manual inspection of the results (which I had to do
anyways due to spacing issues) didn't spot any incorrect swaps.

At this point, I don't know that re-writing Coccinelle will be worth the
hassle (nothing else needs to be rewritten).

> 
>>
>>     @@
>>     identifier rule1.fn;
>>     expression obj, v, opaque, name, errp;
>>     @@
>>      fn(obj, v,
>>     -   opaque, name,
>>     +   name, opaque,
>>         errp)
> 
> The rule1.fn restricts the match to functions changed by the previous
> rule.  Good.
> 
>>
>> Signed-off-by: Eric Blake <eblake@redhat.com>
>> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>
Markus Armbruster Jan. 21, 2016, 9:18 a.m. UTC | #3
Eric Blake <eblake@redhat.com> writes:

> On 01/20/2016 11:49 AM, Markus Armbruster wrote:
>> Eric Blake <eblake@redhat.com> writes:
>> 
>>> Similar to the previous patch, it's nice to have all functions
>>> in the tree that involve a visitor and a name for conversion to
>>> or from QAPI to consistently stick the 'name' parameter next
>>> to the Visitor parameter.
>>>
>>> Done by manually changing include/qom/object.h and qom/object.c,
>>> then running this Coccinelle script and touching up the fallout
>>> (Coccinelle insisted on adding some trailing whitespace).
>>>
>>>     @ rule1 @
>>>     identifier fn;
>>>     type Object, Visitor, Error;
>>>     identifier obj, v, opaque, name, errp;
>>>     @@
>>>      void fn
>>>     - (Object *obj, Visitor *v, void *opaque, const char *name,
>>>     + (Object *obj, Visitor *v, const char *name, void *opaque,
>>>        Error **errp) { ... }
>> 
>> I think we want to match void functions with exactly these parameter
>> types.  The parameter names don't matter.
>
> The parameter names shouldn't matter; the 'identifier obj' should have
> been enough to make 'obj' a metavariable matching any actual parameter name.
>
>> 
>> However, the actual match is looser!  For instance, it also matches
>> 
>>     void foo(int *pi, unsigned *pu, void *vp, const char *cp, double **dpp)
>>     {
>>     }
>
> Uggh. My intent was to match exactly 'Object *' and 'Visitor *' as the
> first two types, where 'int *' and 'unsigned *' are NOT matches.  But I
> don't know Coccinelle well enough to make that blatantly obvious (is my
> declaration of 'type Object' not correct?).

'type Object' makes 'Object' a metavariable matching any C type.

>> This could mess up unrelated function.  I could double-check it doesn't,
>> but I'd rather have a narrower match instead.  Can't give one offhand,
>> though.  Ideas?
>
> Is 'typedef' better than 'type' for constraining the type of the first
> two arguments?

Matches any C typedef name.  Less wrong, but still wrong :)

>                 Or does Coccinelle do literal matches on anything you
> don't pre-declare, as in:

Yes, but...

>      @ rule1 @
>      identifier fn;
>      identifier obj, v, opaque, name, errp;
>      @@
>       void fn
>      - (Object *obj, Visitor *v, void *opaque, const char *name,
>      + (Object *obj, Visitor *v, const char *name, void *opaque,
>         Error **errp) { ... }

... when I try that, spatch throws a parse error.

> Fortunately, a manual inspection of the results (which I had to do
> anyways due to spacing issues) didn't spot any incorrect swaps.
>
> At this point, I don't know that re-writing Coccinelle will be worth the
> hassle (nothing else needs to be rewritten).

I'd normally take up the challenge to wrestle Coccinelle, but I think
our time is better spent elsewhere right now.  Let's amend the commit
message instead: describe the semantic patch's shortcomings, and your
manual checking:

    This semantic patch is actually far too lose: it matches *any* type,
    not just Object, Visitor, Error.  However, I can't figure out how to
    make Coccinelle match Object, Visitor, Error exactly.  Simply
    deleting the 'type Object, Visitor, Error;' line results in a parse
    error.  I reviewed the resulting patch carefully to verify there are
    no unwanted matches.

>>>     @@
>>>     identifier rule1.fn;
>>>     expression obj, v, opaque, name, errp;
>>>     @@
>>>      fn(obj, v,
>>>     -   opaque, name,
>>>     +   name, opaque,
>>>         errp)
>> 
>> The rule1.fn restricts the match to functions changed by the previous
>> rule.  Good.
>> 
>>>
>>> Signed-off-by: Eric Blake <eblake@redhat.com>
>>> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>>
Kevin Wolf Jan. 21, 2016, 9:46 a.m. UTC | #4
Am 21.01.2016 um 10:18 hat Markus Armbruster geschrieben:
> Eric Blake <eblake@redhat.com> writes:
> > On 01/20/2016 11:49 AM, Markus Armbruster wrote:
> >> Eric Blake <eblake@redhat.com> writes:
> >> 
> >> However, the actual match is looser!  For instance, it also matches
> >> 
> >>     void foo(int *pi, unsigned *pu, void *vp, const char *cp, double **dpp)
> >>     {
> >>     }
> >
> > Uggh. My intent was to match exactly 'Object *' and 'Visitor *' as the
> > first two types, where 'int *' and 'unsigned *' are NOT matches.  But I
> > don't know Coccinelle well enough to make that blatantly obvious (is my
> > declaration of 'type Object' not correct?).
> 
> 'type Object' makes 'Object' a metavariable matching any C type.

I can't say anything on this one, because I've never used 'type'. You
may or may not be right. However...

> >> This could mess up unrelated function.  I could double-check it doesn't,
> >> but I'd rather have a narrower match instead.  Can't give one offhand,
> >> though.  Ideas?
> >
> > Is 'typedef' better than 'type' for constraining the type of the first
> > two arguments?
> 
> Matches any C typedef name.  Less wrong, but still wrong :)

...I'm pretty sure that this is wrong and 'typedef' only declares that a
specific type exists as a typedef.

> >                 Or does Coccinelle do literal matches on anything you
> > don't pre-declare, as in:
> 
> Yes, but...
> 
> >      @ rule1 @
> >      identifier fn;
> >      identifier obj, v, opaque, name, errp;
> >      @@
> >       void fn
> >      - (Object *obj, Visitor *v, void *opaque, const char *name,
> >      + (Object *obj, Visitor *v, const char *name, void *opaque,
> >         Error **errp) { ... }
> 
> ... when I try that, spatch throws a parse error.

Because you need to declare the typedef. :-)

I had a similar problem and asked Julia about it at KVM Forum, so I'm
pretty sure that it's right.

Kevin
Markus Armbruster Jan. 21, 2016, 10:04 a.m. UTC | #5
Kevin Wolf <kwolf@redhat.com> writes:

> Am 21.01.2016 um 10:18 hat Markus Armbruster geschrieben:
>> Eric Blake <eblake@redhat.com> writes:
>> > On 01/20/2016 11:49 AM, Markus Armbruster wrote:
>> >> Eric Blake <eblake@redhat.com> writes:
>> >> 
>> >> However, the actual match is looser!  For instance, it also matches
>> >> 
>> >>     void foo(int *pi, unsigned *pu, void *vp, const char *cp, double **dpp)
>> >>     {
>> >>     }
>> >
>> > Uggh. My intent was to match exactly 'Object *' and 'Visitor *' as the
>> > first two types, where 'int *' and 'unsigned *' are NOT matches.  But I
>> > don't know Coccinelle well enough to make that blatantly obvious (is my
>> > declaration of 'type Object' not correct?).
>> 
>> 'type Object' makes 'Object' a metavariable matching any C type.
>
> I can't say anything on this one, because I've never used 'type'. You
> may or may not be right. However...
>
>> >> This could mess up unrelated function.  I could double-check it doesn't,
>> >> but I'd rather have a narrower match instead.  Can't give one offhand,
>> >> though.  Ideas?
>> >
>> > Is 'typedef' better than 'type' for constraining the type of the first
>> > two arguments?
>> 
>> Matches any C typedef name.  Less wrong, but still wrong :)
>
> ...I'm pretty sure that this is wrong and 'typedef' only declares that a
> specific type exists as a typedef.

Coccinelle's documentation is awfully terse.  Looks like I jumped to
conclusions.

>> >                 Or does Coccinelle do literal matches on anything you
>> > don't pre-declare, as in:
>> 
>> Yes, but...
>> 
>> >      @ rule1 @
>> >      identifier fn;
>> >      identifier obj, v, opaque, name, errp;
>> >      @@
>> >       void fn
>> >      - (Object *obj, Visitor *v, void *opaque, const char *name,
>> >      + (Object *obj, Visitor *v, const char *name, void *opaque,
>> >         Error **errp) { ... }
>> 
>> ... when I try that, spatch throws a parse error.
>
> Because you need to declare the typedef. :-)
>
> I had a similar problem and asked Julia about it at KVM Forum, so I'm
> pretty sure that it's right.

If I replace 'type' by 'typedef', spatch no longer messes up

    void foo(int *pi, unsigned *pu, void *vp, const char *cp, double **dpp)

but still rewrites

    void bar(Object *o, Visitor *v, void *opq, const char *n, Error **ep)

Thanks, Kevin!

Eric, could you try to regenerate your patch with the corrected script?
diff mbox

Patch

diff --git a/backends/hostmem.c b/backends/hostmem.c
index a9d30d8..2657907 100644
--- a/backends/hostmem.c
+++ b/backends/hostmem.c
@@ -26,8 +26,8 @@  QEMU_BUILD_BUG_ON(HOST_MEM_POLICY_INTERLEAVE != MPOL_INTERLEAVE);
 #endif

 static void
-host_memory_backend_get_size(Object *obj, Visitor *v, void *opaque,
-                             const char *name, Error **errp)
+host_memory_backend_get_size(Object *obj, Visitor *v, const char *name,
+                             void *opaque, Error **errp)
 {
     HostMemoryBackend *backend = MEMORY_BACKEND(obj);
     uint64_t value = backend->size;
@@ -36,8 +36,8 @@  host_memory_backend_get_size(Object *obj, Visitor *v, void *opaque,
 }

 static void
-host_memory_backend_set_size(Object *obj, Visitor *v, void *opaque,
-                             const char *name, Error **errp)
+host_memory_backend_set_size(Object *obj, Visitor *v, const char *name,
+                             void *opaque, Error **errp)
 {
     HostMemoryBackend *backend = MEMORY_BACKEND(obj);
     Error *local_err = NULL;
@@ -63,8 +63,8 @@  out:
 }

 static void
-host_memory_backend_get_host_nodes(Object *obj, Visitor *v, void *opaque,
-                                   const char *name, Error **errp)
+host_memory_backend_get_host_nodes(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     HostMemoryBackend *backend = MEMORY_BACKEND(obj);
     uint16List *host_nodes = NULL;
@@ -95,8 +95,8 @@  host_memory_backend_get_host_nodes(Object *obj, Visitor *v, void *opaque,
 }

 static void
-host_memory_backend_set_host_nodes(Object *obj, Visitor *v, void *opaque,
-                                   const char *name, Error **errp)
+host_memory_backend_set_host_nodes(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
 #ifdef CONFIG_NUMA
     HostMemoryBackend *backend = MEMORY_BACKEND(obj);
diff --git a/bootdevice.c b/bootdevice.c
index d307cfc..56e5baf 100644
--- a/bootdevice.c
+++ b/bootdevice.c
@@ -270,15 +270,15 @@  typedef struct {
     DeviceState *dev;
 } BootIndexProperty;

-static void device_get_bootindex(Object *obj, Visitor *v, void *opaque,
-                                 const char *name, Error **errp)
+static void device_get_bootindex(Object *obj, Visitor *v, const char *name,
+                                 void *opaque, Error **errp)
 {
     BootIndexProperty *prop = opaque;
     visit_type_int32(v, name, prop->bootindex, errp);
 }

-static void device_set_bootindex(Object *obj, Visitor *v, void *opaque,
-                                 const char *name, Error **errp)
+static void device_set_bootindex(Object *obj, Visitor *v, const char *name,
+                                 void *opaque, Error **errp)
 {
     BootIndexProperty *prop = opaque;
     int32_t boot_index;
diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c
index 0a486fb..3efdce7 100644
--- a/hw/acpi/ich9.c
+++ b/hw/acpi/ich9.c
@@ -282,9 +282,8 @@  void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm,
     }
 }

-static void ich9_pm_get_gpe0_blk(Object *obj, Visitor *v,
-                                 void *opaque, const char *name,
-                                 Error **errp)
+static void ich9_pm_get_gpe0_blk(Object *obj, Visitor *v, const char *name,
+                                 void *opaque, Error **errp)
 {
     ICH9LPCPMRegs *pm = opaque;
     uint32_t value = pm->pm_io_base + ICH9_PMIO_GPE0_STS;
@@ -307,9 +306,8 @@  static void ich9_pm_set_memory_hotplug_support(Object *obj, bool value,
     s->pm.acpi_memory_hotplug.is_enabled = value;
 }

-static void ich9_pm_get_disable_s3(Object *obj, Visitor *v,
-                                   void *opaque, const char *name,
-                                   Error **errp)
+static void ich9_pm_get_disable_s3(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     ICH9LPCPMRegs *pm = opaque;
     uint8_t value = pm->disable_s3;
@@ -317,9 +315,8 @@  static void ich9_pm_get_disable_s3(Object *obj, Visitor *v,
     visit_type_uint8(v, name, &value, errp);
 }

-static void ich9_pm_set_disable_s3(Object *obj, Visitor *v,
-                                   void *opaque, const char *name,
-                                   Error **errp)
+static void ich9_pm_set_disable_s3(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     ICH9LPCPMRegs *pm = opaque;
     Error *local_err = NULL;
@@ -334,9 +331,8 @@  out:
     error_propagate(errp, local_err);
 }

-static void ich9_pm_get_disable_s4(Object *obj, Visitor *v,
-                                   void *opaque, const char *name,
-                                   Error **errp)
+static void ich9_pm_get_disable_s4(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     ICH9LPCPMRegs *pm = opaque;
     uint8_t value = pm->disable_s4;
@@ -344,9 +340,8 @@  static void ich9_pm_get_disable_s4(Object *obj, Visitor *v,
     visit_type_uint8(v, name, &value, errp);
 }

-static void ich9_pm_set_disable_s4(Object *obj, Visitor *v,
-                                   void *opaque, const char *name,
-                                   Error **errp)
+static void ich9_pm_set_disable_s4(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     ICH9LPCPMRegs *pm = opaque;
     Error *local_err = NULL;
@@ -361,9 +356,8 @@  out:
     error_propagate(errp, local_err);
 }

-static void ich9_pm_get_s4_val(Object *obj, Visitor *v,
-                               void *opaque, const char *name,
-                               Error **errp)
+static void ich9_pm_get_s4_val(Object *obj, Visitor *v, const char *name,
+                               void *opaque, Error **errp)
 {
     ICH9LPCPMRegs *pm = opaque;
     uint8_t value = pm->s4_val;
@@ -371,9 +365,8 @@  static void ich9_pm_get_s4_val(Object *obj, Visitor *v,
     visit_type_uint8(v, name, &value, errp);
 }

-static void ich9_pm_set_s4_val(Object *obj, Visitor *v,
-                               void *opaque, const char *name,
-                               Error **errp)
+static void ich9_pm_set_s4_val(Object *obj, Visitor *v, const char *name,
+                               void *opaque, Error **errp)
 {
     ICH9LPCPMRegs *pm = opaque;
     Error *local_err = NULL;
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index 3676e2e..8d32ede 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -915,16 +915,16 @@  static void nvme_class_init(ObjectClass *oc, void *data)
     dc->vmsd = &nvme_vmstate;
 }

-static void nvme_get_bootindex(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void nvme_get_bootindex(Object *obj, Visitor *v, const char *name,
+                               void *opaque, Error **errp)
 {
     NvmeCtrl *s = NVME(obj);

     visit_type_int32(v, name, &s->conf.bootindex, errp);
 }

-static void nvme_set_bootindex(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void nvme_set_bootindex(Object *obj, Visitor *v, const char *name,
+                               void *opaque, Error **errp)
 {
     NvmeCtrl *s = NVME(obj);
     int32_t boot_index;
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 0fd1e73..3ec3efa 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -33,7 +33,7 @@  static void machine_set_accel(Object *obj, const char *value, Error **errp)
 }

 static void machine_set_kernel_irqchip(Object *obj, Visitor *v,
-                                       void *opaque, const char *name,
+                                       const char *name, void *opaque,
                                        Error **errp)
 {
     Error *err = NULL;
@@ -68,7 +68,7 @@  static void machine_set_kernel_irqchip(Object *obj, Visitor *v,
 }

 static void machine_get_kvm_shadow_mem(Object *obj, Visitor *v,
-                                       void *opaque, const char *name,
+                                       const char *name, void *opaque,
                                        Error **errp)
 {
     MachineState *ms = MACHINE(obj);
@@ -78,7 +78,7 @@  static void machine_get_kvm_shadow_mem(Object *obj, Visitor *v,
 }

 static void machine_set_kvm_shadow_mem(Object *obj, Visitor *v,
-                                       void *opaque, const char *name,
+                                       const char *name, void *opaque,
                                        Error **errp)
 {
     MachineState *ms = MACHINE(obj);
@@ -170,8 +170,8 @@  static void machine_set_dumpdtb(Object *obj, const char *value, Error **errp)
 }

 static void machine_get_phandle_start(Object *obj, Visitor *v,
-                                       void *opaque, const char *name,
-                                       Error **errp)
+                                      const char *name, void *opaque,
+                                      Error **errp)
 {
     MachineState *ms = MACHINE(obj);
     int64_t value = ms->phandle_start;
@@ -180,8 +180,8 @@  static void machine_get_phandle_start(Object *obj, Visitor *v,
 }

 static void machine_set_phandle_start(Object *obj, Visitor *v,
-                                       void *opaque, const char *name,
-                                       Error **errp)
+                                      const char *name, void *opaque,
+                                      Error **errp)
 {
     MachineState *ms = MACHINE(obj);
     Error *error = NULL;
diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
index 86e0b02..0f0e472 100644
--- a/hw/core/qdev-properties-system.c
+++ b/hw/core/qdev-properties-system.c
@@ -111,14 +111,14 @@  static char *print_drive(void *ptr)
     return g_strdup(blk_name(ptr));
 }

-static void get_drive(Object *obj, Visitor *v, void *opaque,
-                      const char *name, Error **errp)
+static void get_drive(Object *obj, Visitor *v, const char *name, void *opaque,
+                      Error **errp)
 {
     get_pointer(obj, v, opaque, print_drive, name, errp);
 }

-static void set_drive(Object *obj, Visitor *v, void *opaque,
-                      const char *name, Error **errp)
+static void set_drive(Object *obj, Visitor *v, const char *name, void *opaque,
+                      Error **errp)
 {
     set_pointer(obj, v, opaque, parse_drive, name, errp);
 }
@@ -172,14 +172,14 @@  static char *print_chr(void *ptr)
     return g_strdup(val);
 }

-static void get_chr(Object *obj, Visitor *v, void *opaque,
-                    const char *name, Error **errp)
+static void get_chr(Object *obj, Visitor *v, const char *name, void *opaque,
+                    Error **errp)
 {
     get_pointer(obj, v, opaque, print_chr, name, errp);
 }

-static void set_chr(Object *obj, Visitor *v, void *opaque,
-                    const char *name, Error **errp)
+static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
+                    Error **errp)
 {
     set_pointer(obj, v, opaque, parse_chr, name, errp);
 }
@@ -193,8 +193,8 @@  PropertyInfo qdev_prop_chr = {
 };

 /* --- netdev device --- */
-static void get_netdev(Object *obj, Visitor *v, void *opaque,
-                       const char *name, Error **errp)
+static void get_netdev(Object *obj, Visitor *v, const char *name,
+                       void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -205,8 +205,8 @@  static void get_netdev(Object *obj, Visitor *v, void *opaque,
     g_free(p);
 }

-static void set_netdev(Object *obj, Visitor *v, void *opaque,
-                       const char *name, Error **errp)
+static void set_netdev(Object *obj, Visitor *v, const char *name,
+                       void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -292,8 +292,8 @@  static int print_vlan(DeviceState *dev, Property *prop, char *dest, size_t len)
     return snprintf(dest, len, "<null>");
 }

-static void get_vlan(Object *obj, Visitor *v, void *opaque,
-                     const char *name, Error **errp)
+static void get_vlan(Object *obj, Visitor *v, const char *name, void *opaque,
+                     Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -310,8 +310,8 @@  static void get_vlan(Object *obj, Visitor *v, void *opaque,
     visit_type_int32(v, name, &id, errp);
 }

-static void set_vlan(Object *obj, Visitor *v, void *opaque,
-                     const char *name, Error **errp)
+static void set_vlan(Object *obj, Visitor *v, const char *name, void *opaque,
+                     Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index 971219d..de927c6 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -41,8 +41,8 @@  void *qdev_get_prop_ptr(DeviceState *dev, Property *prop)
     return ptr;
 }

-static void get_enum(Object *obj, Visitor *v, void *opaque,
-                     const char *name, Error **errp)
+static void get_enum(Object *obj, Visitor *v, const char *name, void *opaque,
+                     Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -52,8 +52,8 @@  static void get_enum(Object *obj, Visitor *v, void *opaque,
                     prop->info->name, errp);
 }

-static void set_enum(Object *obj, Visitor *v, void *opaque,
-                     const char *name, Error **errp)
+static void set_enum(Object *obj, Visitor *v, const char *name, void *opaque,
+                     Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -87,8 +87,8 @@  static void bit_prop_set(DeviceState *dev, Property *props, bool val)
     }
 }

-static void prop_get_bit(Object *obj, Visitor *v, void *opaque,
-                    const char *name, Error **errp)
+static void prop_get_bit(Object *obj, Visitor *v, const char *name,
+                         void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -98,8 +98,8 @@  static void prop_get_bit(Object *obj, Visitor *v, void *opaque,
     visit_type_bool(v, name, &value, errp);
 }

-static void prop_set_bit(Object *obj, Visitor *v, void *opaque,
-                    const char *name, Error **errp)
+static void prop_set_bit(Object *obj, Visitor *v, const char *name,
+                         void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -145,8 +145,8 @@  static void bit64_prop_set(DeviceState *dev, Property *props, bool val)
     }
 }

-static void prop_get_bit64(Object *obj, Visitor *v, void *opaque,
-                           const char *name, Error **errp)
+static void prop_get_bit64(Object *obj, Visitor *v, const char *name,
+                           void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -156,8 +156,8 @@  static void prop_get_bit64(Object *obj, Visitor *v, void *opaque,
     visit_type_bool(v, name, &value, errp);
 }

-static void prop_set_bit64(Object *obj, Visitor *v, void *opaque,
-                           const char *name, Error **errp)
+static void prop_set_bit64(Object *obj, Visitor *v, const char *name,
+                           void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -186,8 +186,8 @@  PropertyInfo qdev_prop_bit64 = {

 /* --- bool --- */

-static void get_bool(Object *obj, Visitor *v, void *opaque,
-                     const char *name, Error **errp)
+static void get_bool(Object *obj, Visitor *v, const char *name, void *opaque,
+                     Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -196,8 +196,8 @@  static void get_bool(Object *obj, Visitor *v, void *opaque,
     visit_type_bool(v, name, ptr, errp);
 }

-static void set_bool(Object *obj, Visitor *v, void *opaque,
-                     const char *name, Error **errp)
+static void set_bool(Object *obj, Visitor *v, const char *name, void *opaque,
+                     Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -219,8 +219,8 @@  PropertyInfo qdev_prop_bool = {

 /* --- 8bit integer --- */

-static void get_uint8(Object *obj, Visitor *v, void *opaque,
-                      const char *name, Error **errp)
+static void get_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
+                      Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -229,8 +229,8 @@  static void get_uint8(Object *obj, Visitor *v, void *opaque,
     visit_type_uint8(v, name, ptr, errp);
 }

-static void set_uint8(Object *obj, Visitor *v, void *opaque,
-                      const char *name, Error **errp)
+static void set_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
+                      Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -252,8 +252,8 @@  PropertyInfo qdev_prop_uint8 = {

 /* --- 16bit integer --- */

-static void get_uint16(Object *obj, Visitor *v, void *opaque,
-                       const char *name, Error **errp)
+static void get_uint16(Object *obj, Visitor *v, const char *name,
+                       void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -262,8 +262,8 @@  static void get_uint16(Object *obj, Visitor *v, void *opaque,
     visit_type_uint16(v, name, ptr, errp);
 }

-static void set_uint16(Object *obj, Visitor *v, void *opaque,
-                       const char *name, Error **errp)
+static void set_uint16(Object *obj, Visitor *v, const char *name,
+                       void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -285,8 +285,8 @@  PropertyInfo qdev_prop_uint16 = {

 /* --- 32bit integer --- */

-static void get_uint32(Object *obj, Visitor *v, void *opaque,
-                       const char *name, Error **errp)
+static void get_uint32(Object *obj, Visitor *v, const char *name,
+                       void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -295,8 +295,8 @@  static void get_uint32(Object *obj, Visitor *v, void *opaque,
     visit_type_uint32(v, name, ptr, errp);
 }

-static void set_uint32(Object *obj, Visitor *v, void *opaque,
-                       const char *name, Error **errp)
+static void set_uint32(Object *obj, Visitor *v, const char *name,
+                       void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -310,8 +310,8 @@  static void set_uint32(Object *obj, Visitor *v, void *opaque,
     visit_type_uint32(v, name, ptr, errp);
 }

-static void get_int32(Object *obj, Visitor *v, void *opaque,
-                      const char *name, Error **errp)
+static void get_int32(Object *obj, Visitor *v, const char *name, void *opaque,
+                      Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -320,8 +320,8 @@  static void get_int32(Object *obj, Visitor *v, void *opaque,
     visit_type_int32(v, name, ptr, errp);
 }

-static void set_int32(Object *obj, Visitor *v, void *opaque,
-                      const char *name, Error **errp)
+static void set_int32(Object *obj, Visitor *v, const char *name, void *opaque,
+                      Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -349,8 +349,8 @@  PropertyInfo qdev_prop_int32 = {

 /* --- 64bit integer --- */

-static void get_uint64(Object *obj, Visitor *v, void *opaque,
-                       const char *name, Error **errp)
+static void get_uint64(Object *obj, Visitor *v, const char *name,
+                       void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -359,8 +359,8 @@  static void get_uint64(Object *obj, Visitor *v, void *opaque,
     visit_type_uint64(v, name, ptr, errp);
 }

-static void set_uint64(Object *obj, Visitor *v, void *opaque,
-                       const char *name, Error **errp)
+static void set_uint64(Object *obj, Visitor *v, const char *name,
+                       void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -388,8 +388,8 @@  static void release_string(Object *obj, const char *name, void *opaque)
     g_free(*(char **)qdev_get_prop_ptr(DEVICE(obj), prop));
 }

-static void get_string(Object *obj, Visitor *v, void *opaque,
-                       const char *name, Error **errp)
+static void get_string(Object *obj, Visitor *v, const char *name,
+                       void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -403,8 +403,8 @@  static void get_string(Object *obj, Visitor *v, void *opaque,
     }
 }

-static void set_string(Object *obj, Visitor *v, void *opaque,
-                       const char *name, Error **errp)
+static void set_string(Object *obj, Visitor *v, const char *name,
+                       void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -447,8 +447,8 @@  PropertyInfo qdev_prop_ptr = {
  *   01:02:03:04:05:06
  *   01-02-03-04-05-06
  */
-static void get_mac(Object *obj, Visitor *v, void *opaque,
-                    const char *name, Error **errp)
+static void get_mac(Object *obj, Visitor *v, const char *name, void *opaque,
+                    Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -463,8 +463,8 @@  static void get_mac(Object *obj, Visitor *v, void *opaque,
     visit_type_str(v, name, &p, errp);
 }

-static void set_mac(Object *obj, Visitor *v, void *opaque,
-                    const char *name, Error **errp)
+static void set_mac(Object *obj, Visitor *v, const char *name, void *opaque,
+                    Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -546,8 +546,8 @@  PropertyInfo qdev_prop_bios_chs_trans = {
 /*
  * bus-local address, i.e. "$slot" or "$slot.$fn"
  */
-static void set_pci_devfn(Object *obj, Visitor *v, void *opaque,
-                          const char *name, Error **errp)
+static void set_pci_devfn(Object *obj, Visitor *v, const char *name,
+                          void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -617,8 +617,8 @@  PropertyInfo qdev_prop_pci_devfn = {

 /* --- blocksize --- */

-static void set_blocksize(Object *obj, Visitor *v, void *opaque,
-                          const char *name, Error **errp)
+static void set_blocksize(Object *obj, Visitor *v, const char *name,
+                          void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -664,8 +664,8 @@  PropertyInfo qdev_prop_blocksize = {

 /* --- pci host address --- */

-static void get_pci_host_devaddr(Object *obj, Visitor *v, void *opaque,
-                                 const char *name, Error **errp)
+static void get_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
+                                 void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -685,8 +685,8 @@  static void get_pci_host_devaddr(Object *obj, Visitor *v, void *opaque,
  * Parse [<domain>:]<bus>:<slot>.<func>
  *   if <domain> is not supplied, it's assumed to be 0.
  */
-static void set_pci_host_devaddr(Object *obj, Visitor *v, void *opaque,
-                                 const char *name, Error **errp)
+static void set_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
+                                 void *opaque, Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -799,8 +799,8 @@  static void array_element_release(Object *obj, const char *name, void *opaque)
     g_free(p);
 }

-static void set_prop_arraylen(Object *obj, Visitor *v, void *opaque,
-                              const char *name, Error **errp)
+static void set_prop_arraylen(Object *obj, Visitor *v, const char *name,
+                              void *opaque, Error **errp)
 {
     /* Setter for the property which defines the length of a
      * variable-sized property array. As well as actually setting the
@@ -1082,8 +1082,8 @@  void qdev_prop_set_globals(DeviceState *dev)

 /* --- 64bit unsigned int 'size' type --- */

-static void get_size(Object *obj, Visitor *v, void *opaque,
-                     const char *name, Error **errp)
+static void get_size(Object *obj, Visitor *v, const char *name, void *opaque,
+                     Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
@@ -1092,8 +1092,8 @@  static void get_size(Object *obj, Visitor *v, void *opaque,
     visit_type_size(v, name, ptr, errp);
 }

-static void set_size(Object *obj, Visitor *v, void *opaque,
-                     const char *name, Error **errp)
+static void set_size(Object *obj, Visitor *v, const char *name, void *opaque,
+                     Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index b343a4d..aa0792a 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -887,8 +887,9 @@  char *qdev_get_dev_path(DeviceState *dev)
  * Legacy property handling
  */

-static void qdev_get_legacy_property(Object *obj, Visitor *v, void *opaque,
-                                     const char *name, Error **errp)
+static void qdev_get_legacy_property(Object *obj, Visitor *v,
+                                     const char *name, void *opaque,
+                                     Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
     Property *prop = opaque;
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 0ec39dc..b43da29 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1754,8 +1754,9 @@  static HotplugHandler *pc_get_hotpug_handler(MachineState *machine,
 }

 static void
-pc_machine_get_hotplug_memory_region_size(Object *obj, Visitor *v, void *opaque,
-                                          const char *name, Error **errp)
+pc_machine_get_hotplug_memory_region_size(Object *obj, Visitor *v,
+                                          const char *name, void *opaque,
+                                          Error **errp)
 {
     PCMachineState *pcms = PC_MACHINE(obj);
     int64_t value = memory_region_size(&pcms->hotplug_memory.mr);
@@ -1764,8 +1765,8 @@  pc_machine_get_hotplug_memory_region_size(Object *obj, Visitor *v, void *opaque,
 }

 static void pc_machine_get_max_ram_below_4g(Object *obj, Visitor *v,
-                                         void *opaque, const char *name,
-                                         Error **errp)
+                                            const char *name, void *opaque,
+                                            Error **errp)
 {
     PCMachineState *pcms = PC_MACHINE(obj);
     uint64_t value = pcms->max_ram_below_4g;
@@ -1774,8 +1775,8 @@  static void pc_machine_get_max_ram_below_4g(Object *obj, Visitor *v,
 }

 static void pc_machine_set_max_ram_below_4g(Object *obj, Visitor *v,
-                                         void *opaque, const char *name,
-                                         Error **errp)
+                                            const char *name, void *opaque,
+                                            Error **errp)
 {
     PCMachineState *pcms = PC_MACHINE(obj);
     Error *error = NULL;
@@ -1803,8 +1804,8 @@  static void pc_machine_set_max_ram_below_4g(Object *obj, Visitor *v,
     pcms->max_ram_below_4g = value;
 }

-static void pc_machine_get_vmport(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void pc_machine_get_vmport(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     PCMachineState *pcms = PC_MACHINE(obj);
     OnOffAuto vmport = pcms->vmport;
@@ -1812,8 +1813,8 @@  static void pc_machine_get_vmport(Object *obj, Visitor *v, void *opaque,
     visit_type_OnOffAuto(v, name, &vmport, errp);
 }

-static void pc_machine_set_vmport(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void pc_machine_set_vmport(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     PCMachineState *pcms = PC_MACHINE(obj);

@@ -1845,8 +1846,8 @@  bool pc_machine_is_smm_enabled(PCMachineState *pcms)
     return false;
 }

-static void pc_machine_get_smm(Object *obj, Visitor *v, void *opaque,
-                              const char *name, Error **errp)
+static void pc_machine_get_smm(Object *obj, Visitor *v, const char *name,
+                               void *opaque, Error **errp)
 {
     PCMachineState *pcms = PC_MACHINE(obj);
     OnOffAuto smm = pcms->smm;
@@ -1854,8 +1855,8 @@  static void pc_machine_get_smm(Object *obj, Visitor *v, void *opaque,
     visit_type_OnOffAuto(v, name, &smm, errp);
 }

-static void pc_machine_set_smm(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void pc_machine_set_smm(Object *obj, Visitor *v, const char *name,
+                               void *opaque, Error **errp)
 {
     PCMachineState *pcms = PC_MACHINE(obj);

diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c
index 66f56e7..ec84937 100644
--- a/hw/ide/qdev.c
+++ b/hw/ide/qdev.c
@@ -199,16 +199,16 @@  static int ide_dev_initfn(IDEDevice *dev, IDEDriveKind kind)
     return 0;
 }

-static void ide_dev_get_bootindex(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void ide_dev_get_bootindex(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     IDEDevice *d = IDE_DEVICE(obj);

     visit_type_int32(v, name, &d->conf.bootindex, errp);
 }

-static void ide_dev_set_bootindex(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void ide_dev_set_bootindex(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     IDEDevice *d = IDE_DEVICE(obj);
     int32_t boot_index;
diff --git a/hw/intc/xics.c b/hw/intc/xics.c
index 502c87f..ba7c40f 100644
--- a/hw/intc/xics.c
+++ b/hw/intc/xics.c
@@ -88,8 +88,8 @@  static void xics_common_reset(DeviceState *d)
     device_reset(DEVICE(icp->ics));
 }

-static void xics_prop_get_nr_irqs(Object *obj, Visitor *v,
-                                  void *opaque, const char *name, Error **errp)
+static void xics_prop_get_nr_irqs(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     XICSState *icp = XICS_COMMON(obj);
     int64_t value = icp->nr_irqs;
@@ -97,8 +97,8 @@  static void xics_prop_get_nr_irqs(Object *obj, Visitor *v,
     visit_type_int(v, name, &value, errp);
 }

-static void xics_prop_set_nr_irqs(Object *obj, Visitor *v,
-                                  void *opaque, const char *name, Error **errp)
+static void xics_prop_set_nr_irqs(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     XICSState *icp = XICS_COMMON(obj);
     XICSStateClass *info = XICS_COMMON_GET_CLASS(icp);
@@ -122,7 +122,7 @@  static void xics_prop_set_nr_irqs(Object *obj, Visitor *v,
 }

 static void xics_prop_get_nr_servers(Object *obj, Visitor *v,
-                                     void *opaque, const char *name,
+                                     const char *name, void *opaque,
                                      Error **errp)
 {
     XICSState *icp = XICS_COMMON(obj);
@@ -132,7 +132,7 @@  static void xics_prop_get_nr_servers(Object *obj, Visitor *v,
 }

 static void xics_prop_set_nr_servers(Object *obj, Visitor *v,
-                                     void *opaque, const char *name,
+                                     const char *name, void *opaque,
                                      Error **errp)
 {
     XICSState *icp = XICS_COMMON(obj);
diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c
index 358f707..b9ae1da 100644
--- a/hw/isa/lpc_ich9.c
+++ b/hw/isa/lpc_ich9.c
@@ -569,9 +569,8 @@  Object *ich9_lpc_find(void)
     return o;
 }

-static void ich9_lpc_get_sci_int(Object *obj, Visitor *v,
-                                 void *opaque, const char *name,
-                                 Error **errp)
+static void ich9_lpc_get_sci_int(Object *obj, Visitor *v, const char *name,
+                                 void *opaque, Error **errp)
 {
     ICH9LPCState *lpc = ICH9_LPC_DEVICE(obj);
     uint32_t value = ich9_lpc_sci_irq(lpc);
diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
index 123baeb..c52bf09 100644
--- a/hw/mem/pc-dimm.c
+++ b/hw/mem/pc-dimm.c
@@ -372,8 +372,8 @@  static Property pc_dimm_properties[] = {
     DEFINE_PROP_END_OF_LIST(),
 };

-static void pc_dimm_get_size(Object *obj, Visitor *v, void *opaque,
-                          const char *name, Error **errp)
+static void pc_dimm_get_size(Object *obj, Visitor *v, const char *name,
+                             void *opaque, Error **errp)
 {
     int64_t value;
     MemoryRegion *mr;
diff --git a/hw/misc/edu.c b/hw/misc/edu.c
index 4a3dc76..b6c83ce 100644
--- a/hw/misc/edu.c
+++ b/hw/misc/edu.c
@@ -362,8 +362,8 @@  static void pci_edu_uninit(PCIDevice *pdev)
     timer_del(&edu->dma_timer);
 }

-static void edu_obj_uint64(Object *obj, Visitor *v, void *opaque,
-                           const char *name, Error **errp)
+static void edu_obj_uint64(Object *obj, Visitor *v, const char *name,
+                           void *opaque, Error **errp)
 {
     uint64_t *val = opaque;

diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c
index 1850315..a9ac524 100644
--- a/hw/misc/tmp105.c
+++ b/hw/misc/tmp105.c
@@ -52,8 +52,8 @@  static void tmp105_alarm_update(TMP105State *s)
     tmp105_interrupt_update(s);
 }

-static void tmp105_get_temperature(Object *obj, Visitor *v, void *opaque,
-                                   const char *name, Error **errp)
+static void tmp105_get_temperature(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     TMP105State *s = TMP105(obj);
     int64_t value = s->temperature * 1000 / 256;
@@ -64,8 +64,8 @@  static void tmp105_get_temperature(Object *obj, Visitor *v, void *opaque,
 /* Units are 0.001 centigrades relative to 0 C.  s->temperature is 8.8
  * fixed point, so units are 1/256 centigrades.  A simple ratio will do.
  */
-static void tmp105_set_temperature(Object *obj, Visitor *v, void *opaque,
-                                   const char *name, Error **errp)
+static void tmp105_set_temperature(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     TMP105State *s = TMP105(obj);
     Error *local_err = NULL;
diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c
index 46ef304..630cab3 100644
--- a/hw/net/ne2000-isa.c
+++ b/hw/net/ne2000-isa.c
@@ -93,8 +93,9 @@  static void isa_ne2000_class_initfn(ObjectClass *klass, void *data)
     set_bit(DEVICE_CATEGORY_NETWORK, dc->categories);
 }

-static void isa_ne2000_get_bootindex(Object *obj, Visitor *v, void *opaque,
-                                     const char *name, Error **errp)
+static void isa_ne2000_get_bootindex(Object *obj, Visitor *v,
+                                     const char *name, void *opaque,
+                                     Error **errp)
 {
     ISANE2000State *isa = ISA_NE2000(obj);
     NE2000State *s = &isa->ne2000;
@@ -102,8 +103,9 @@  static void isa_ne2000_get_bootindex(Object *obj, Visitor *v, void *opaque,
     visit_type_int32(v, name, &s->c.bootindex, errp);
 }

-static void isa_ne2000_set_bootindex(Object *obj, Visitor *v, void *opaque,
-                                     const char *name, Error **errp)
+static void isa_ne2000_set_bootindex(Object *obj, Visitor *v,
+                                     const char *name, void *opaque,
+                                     Error **errp)
 {
     ISANE2000State *isa = ISA_NE2000(obj);
     NE2000State *s = &isa->ne2000;
diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index dbae0aa..b5f59af 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -215,7 +215,7 @@  static const VMStateDescription vmstate_i440fx = {
 };

 static void i440fx_pcihost_get_pci_hole_start(Object *obj, Visitor *v,
-                                              void *opaque, const char *name,
+                                              const char *name, void *opaque,
                                               Error **errp)
 {
     I440FXState *s = I440FX_PCI_HOST_BRIDGE(obj);
@@ -225,7 +225,7 @@  static void i440fx_pcihost_get_pci_hole_start(Object *obj, Visitor *v,
 }

 static void i440fx_pcihost_get_pci_hole_end(Object *obj, Visitor *v,
-                                            void *opaque, const char *name,
+                                            const char *name, void *opaque,
                                             Error **errp)
 {
     I440FXState *s = I440FX_PCI_HOST_BRIDGE(obj);
@@ -235,8 +235,8 @@  static void i440fx_pcihost_get_pci_hole_end(Object *obj, Visitor *v,
 }

 static void i440fx_pcihost_get_pci_hole64_start(Object *obj, Visitor *v,
-                                                void *opaque, const char *name,
-                                                Error **errp)
+                                                const char *name,
+                                                void *opaque, Error **errp)
 {
     PCIHostState *h = PCI_HOST_BRIDGE(obj);
     Range w64;
@@ -247,7 +247,7 @@  static void i440fx_pcihost_get_pci_hole64_start(Object *obj, Visitor *v,
 }

 static void i440fx_pcihost_get_pci_hole64_end(Object *obj, Visitor *v,
-                                              void *opaque, const char *name,
+                                              const char *name, void *opaque,
                                               Error **errp)
 {
     PCIHostState *h = PCI_HOST_BRIDGE(obj);
diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c
index 2b3608a..23b78cc 100644
--- a/hw/pci-host/q35.c
+++ b/hw/pci-host/q35.c
@@ -67,7 +67,7 @@  static const char *q35_host_root_bus_path(PCIHostState *host_bridge,
 }

 static void q35_host_get_pci_hole_start(Object *obj, Visitor *v,
-                                        void *opaque, const char *name,
+                                        const char *name, void *opaque,
                                         Error **errp)
 {
     Q35PCIHost *s = Q35_HOST_DEVICE(obj);
@@ -77,7 +77,7 @@  static void q35_host_get_pci_hole_start(Object *obj, Visitor *v,
 }

 static void q35_host_get_pci_hole_end(Object *obj, Visitor *v,
-                                      void *opaque, const char *name,
+                                      const char *name, void *opaque,
                                       Error **errp)
 {
     Q35PCIHost *s = Q35_HOST_DEVICE(obj);
@@ -87,7 +87,7 @@  static void q35_host_get_pci_hole_end(Object *obj, Visitor *v,
 }

 static void q35_host_get_pci_hole64_start(Object *obj, Visitor *v,
-                                          void *opaque, const char *name,
+                                          const char *name, void *opaque,
                                           Error **errp)
 {
     PCIHostState *h = PCI_HOST_BRIDGE(obj);
@@ -99,7 +99,7 @@  static void q35_host_get_pci_hole64_start(Object *obj, Visitor *v,
 }

 static void q35_host_get_pci_hole64_end(Object *obj, Visitor *v,
-                                        void *opaque, const char *name,
+                                        const char *name, void *opaque,
                                         Error **errp)
 {
     PCIHostState *h = PCI_HOST_BRIDGE(obj);
@@ -110,9 +110,8 @@  static void q35_host_get_pci_hole64_end(Object *obj, Visitor *v,
     visit_type_uint64(v, name, &w64.end, errp);
 }

-static void q35_host_get_mmcfg_size(Object *obj, Visitor *v,
-                                    void *opaque, const char *name,
-                                    Error **errp)
+static void q35_host_get_mmcfg_size(Object *obj, Visitor *v, const char *name,
+                                    void *opaque, Error **errp)
 {
     PCIExpressHost *e = PCIE_HOST_BRIDGE(obj);
     uint32_t value = e->size;
diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c
index 9c8fbe8..9ef603b 100644
--- a/hw/ppc/spapr_drc.c
+++ b/hw/ppc/spapr_drc.c
@@ -214,8 +214,8 @@  static uint32_t entity_sense(sPAPRDRConnector *drc, sPAPRDREntitySense *state)
     return RTAS_OUT_SUCCESS;
 }

-static void prop_get_index(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void prop_get_index(Object *obj, Visitor *v, const char *name,
+                           void *opaque, Error **errp)
 {
     sPAPRDRConnector *drc = SPAPR_DR_CONNECTOR(obj);
     sPAPRDRConnectorClass *drck = SPAPR_DR_CONNECTOR_GET_CLASS(drc);
@@ -223,8 +223,8 @@  static void prop_get_index(Object *obj, Visitor *v, void *opaque,
     visit_type_uint32(v, name, &value, errp);
 }

-static void prop_get_type(Object *obj, Visitor *v, void *opaque,
-                          const char *name, Error **errp)
+static void prop_get_type(Object *obj, Visitor *v, const char *name,
+                          void *opaque, Error **errp)
 {
     sPAPRDRConnector *drc = SPAPR_DR_CONNECTOR(obj);
     sPAPRDRConnectorClass *drck = SPAPR_DR_CONNECTOR_GET_CLASS(drc);
@@ -239,8 +239,8 @@  static char *prop_get_name(Object *obj, Error **errp)
     return g_strdup(drck->get_name(drc));
 }

-static void prop_get_entity_sense(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void prop_get_entity_sense(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     sPAPRDRConnector *drc = SPAPR_DR_CONNECTOR(obj);
     sPAPRDRConnectorClass *drck = SPAPR_DR_CONNECTOR_GET_CLASS(drc);
@@ -250,8 +250,8 @@  static void prop_get_entity_sense(Object *obj, Visitor *v, void *opaque,
     visit_type_uint32(v, name, &value, errp);
 }

-static void prop_get_fdt(Object *obj, Visitor *v, void *opaque,
-                        const char *name, Error **errp)
+static void prop_get_fdt(Object *obj, Visitor *v, const char *name,
+                         void *opaque, Error **errp)
 {
     sPAPRDRConnector *drc = SPAPR_DR_CONNECTOR(obj);
     Error *err = NULL;
diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
index 3261446..e743551 100644
--- a/hw/usb/dev-storage.c
+++ b/hw/usb/dev-storage.c
@@ -780,8 +780,8 @@  static void usb_msd_class_initfn_storage(ObjectClass *klass, void *data)
     dc->props = msd_properties;
 }

-static void usb_msd_get_bootindex(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void usb_msd_get_bootindex(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     USBDevice *dev = USB_DEVICE(obj);
     MSDState *s = USB_STORAGE_DEV(dev);
@@ -789,8 +789,8 @@  static void usb_msd_get_bootindex(Object *obj, Visitor *v, void *opaque,
     visit_type_int32(v, name, &s->conf.bootindex, errp);
 }

-static void usb_msd_set_bootindex(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void usb_msd_set_bootindex(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     USBDevice *dev = USB_DEVICE(obj);
     MSDState *s = USB_STORAGE_DEV(dev);
diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
index 1d81a34..dc44088 100644
--- a/hw/virtio/virtio-balloon.c
+++ b/hw/virtio/virtio-balloon.c
@@ -110,8 +110,8 @@  static void balloon_stats_poll_cb(void *opaque)
     virtio_notify(vdev, s->svq);
 }

-static void balloon_stats_get_all(Object *obj, Visitor *v,
-                                  void *opaque, const char *name, Error **errp)
+static void balloon_stats_get_all(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     Error *err = NULL;
     VirtIOBalloon *s = opaque;
@@ -150,7 +150,7 @@  out:
 }

 static void balloon_stats_get_poll_interval(Object *obj, Visitor *v,
-                                            void *opaque, const char *name,
+                                            const char *name, void *opaque,
                                             Error **errp)
 {
     VirtIOBalloon *s = opaque;
@@ -158,7 +158,7 @@  static void balloon_stats_get_poll_interval(Object *obj, Visitor *v,
 }

 static void balloon_stats_set_poll_interval(Object *obj, Visitor *v,
-                                            void *opaque, const char *name,
+                                            const char *name, void *opaque,
                                             Error **errp)
 {
     VirtIOBalloon *s = opaque;
diff --git a/include/qom/object.h b/include/qom/object.h
index 3e7e99d..698827d 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -290,16 +290,16 @@  typedef struct InterfaceInfo InterfaceInfo;
  * ObjectPropertyAccessor:
  * @obj: the object that owns the property
  * @v: the visitor that contains the property data
+ * @name: the name of the property
  * @opaque: the object property opaque
- * @name: the name of the property
  * @errp: a pointer to an Error that is filled if getting/setting fails.
  *
  * Called when trying to get/set a property.
  */
 typedef void (ObjectPropertyAccessor)(Object *obj,
                                       Visitor *v,
-                                      void *opaque,
                                       const char *name,
+                                      void *opaque,
                                       Error **errp);

 /**
diff --git a/memory.c b/memory.c
index 49eb809..fc58f1c 100644
--- a/memory.c
+++ b/memory.c
@@ -928,8 +928,8 @@  void memory_region_init(MemoryRegion *mr,
     }
 }

-static void memory_region_get_addr(Object *obj, Visitor *v, void *opaque,
-                                   const char *name, Error **errp)
+static void memory_region_get_addr(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     MemoryRegion *mr = MEMORY_REGION(obj);
     uint64_t value = mr->addr;
@@ -937,8 +937,9 @@  static void memory_region_get_addr(Object *obj, Visitor *v, void *opaque,
     visit_type_uint64(v, name, &value, errp);
 }

-static void memory_region_get_container(Object *obj, Visitor *v, void *opaque,
-                                        const char *name, Error **errp)
+static void memory_region_get_container(Object *obj, Visitor *v,
+                                        const char *name, void *opaque,
+                                        Error **errp)
 {
     MemoryRegion *mr = MEMORY_REGION(obj);
     gchar *path = (gchar *)"";
@@ -960,8 +961,9 @@  static Object *memory_region_resolve_container(Object *obj, void *opaque,
     return OBJECT(mr->container);
 }

-static void memory_region_get_priority(Object *obj, Visitor *v, void *opaque,
-                                       const char *name, Error **errp)
+static void memory_region_get_priority(Object *obj, Visitor *v,
+                                       const char *name, void *opaque,
+                                       Error **errp)
 {
     MemoryRegion *mr = MEMORY_REGION(obj);
     int32_t value = mr->priority;
@@ -976,8 +978,8 @@  static bool memory_region_get_may_overlap(Object *obj, Error **errp)
     return mr->may_overlap;
 }

-static void memory_region_get_size(Object *obj, Visitor *v, void *opaque,
-                                   const char *name, Error **errp)
+static void memory_region_get_size(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     MemoryRegion *mr = MEMORY_REGION(obj);
     uint64_t value = memory_region_size(mr);
diff --git a/net/dump.c b/net/dump.c
index 0aac9b8..760a12d 100644
--- a/net/dump.c
+++ b/net/dump.c
@@ -271,8 +271,8 @@  static void filter_dump_setup(NetFilterState *nf, Error **errp)
     net_dump_state_init(&nfds->ds, nfds->filename, nfds->maxlen, errp);
 }

-static void filter_dump_get_maxlen(Object *obj, Visitor *v, void *opaque,
-                                   const char *name, Error **errp)
+static void filter_dump_get_maxlen(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     NetFilterDumpState *nfds = FILTER_DUMP(obj);
     uint32_t value = nfds->maxlen;
@@ -280,8 +280,8 @@  static void filter_dump_get_maxlen(Object *obj, Visitor *v, void *opaque,
     visit_type_uint32(v, name, &value, errp);
 }

-static void filter_dump_set_maxlen(Object *obj, Visitor *v, void *opaque,
-                                   const char *name, Error **errp)
+static void filter_dump_set_maxlen(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     NetFilterDumpState *nfds = FILTER_DUMP(obj);
     Error *local_err = NULL;
diff --git a/net/filter-buffer.c b/net/filter-buffer.c
index 3173d26..570d342 100644
--- a/net/filter-buffer.c
+++ b/net/filter-buffer.c
@@ -132,8 +132,9 @@  static void filter_buffer_class_init(ObjectClass *oc, void *data)
     nfc->receive_iov = filter_buffer_receive_iov;
 }

-static void filter_buffer_get_interval(Object *obj, Visitor *v, void *opaque,
-                                       const char *name, Error **errp)
+static void filter_buffer_get_interval(Object *obj, Visitor *v,
+                                       const char *name, void *opaque,
+                                       Error **errp)
 {
     FilterBufferState *s = FILTER_BUFFER(obj);
     uint32_t value = s->interval;
@@ -141,8 +142,9 @@  static void filter_buffer_get_interval(Object *obj, Visitor *v, void *opaque,
     visit_type_uint32(v, name, &value, errp);
 }

-static void filter_buffer_set_interval(Object *obj, Visitor *v, void *opaque,
-                                       const char *name, Error **errp)
+static void filter_buffer_set_interval(Object *obj, Visitor *v,
+                                       const char *name, void *opaque,
+                                       Error **errp)
 {
     FilterBufferState *s = FILTER_BUFFER(obj);
     Error *local_err = NULL;
diff --git a/qom/object.c b/qom/object.c
index 6a5ad59..55b3955 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -1061,7 +1061,7 @@  void object_property_get(Object *obj, Visitor *v, const char *name,
     if (!prop->get) {
         error_setg(errp, QERR_PERMISSION_DENIED);
     } else {
-        prop->get(obj, v, prop->opaque, name, errp);
+        prop->get(obj, v, name, prop->opaque, errp);
     }
 }

@@ -1076,7 +1076,7 @@  void object_property_set(Object *obj, Visitor *v, const char *name,
     if (!prop->set) {
         error_setg(errp, QERR_PERMISSION_DENIED);
     } else {
-        prop->set(obj, v, prop->opaque, name, errp);
+        prop->set(obj, v, name, prop->opaque, errp);
     }
 }

@@ -1334,8 +1334,9 @@  Object *object_get_objects_root(void)
     return container_get(object_get_root(), "/objects");
 }

-static void object_get_child_property(Object *obj, Visitor *v, void *opaque,
-                                      const char *name, Error **errp)
+static void object_get_child_property(Object *obj, Visitor *v,
+                                      const char *name, void *opaque,
+                                      Error **errp)
 {
     Object *child = opaque;
     gchar *path;
@@ -1403,8 +1404,9 @@  typedef struct {
     ObjectPropertyLinkFlags flags;
 } LinkProperty;

-static void object_get_link_property(Object *obj, Visitor *v, void *opaque,
-                                     const char *name, Error **errp)
+static void object_get_link_property(Object *obj, Visitor *v,
+                                     const char *name, void *opaque,
+                                     Error **errp)
 {
     LinkProperty *lprop = opaque;
     Object **child = lprop->child;
@@ -1460,8 +1462,9 @@  static Object *object_resolve_link(Object *obj, const char *name,
     return target;
 }

-static void object_set_link_property(Object *obj, Visitor *v, void *opaque,
-                                     const char *name, Error **errp)
+static void object_set_link_property(Object *obj, Visitor *v,
+                                     const char *name, void *opaque,
+                                     Error **errp)
 {
     Error *local_err = NULL;
     LinkProperty *prop = opaque;
@@ -1724,8 +1727,8 @@  typedef struct StringProperty
     void (*set)(Object *, const char *, Error **);
 } StringProperty;

-static void property_get_str(Object *obj, Visitor *v, void *opaque,
-                             const char *name, Error **errp)
+static void property_get_str(Object *obj, Visitor *v, const char *name,
+                             void *opaque, Error **errp)
 {
     StringProperty *prop = opaque;
     char *value;
@@ -1741,8 +1744,8 @@  static void property_get_str(Object *obj, Visitor *v, void *opaque,
     g_free(value);
 }

-static void property_set_str(Object *obj, Visitor *v, void *opaque,
-                             const char *name, Error **errp)
+static void property_set_str(Object *obj, Visitor *v, const char *name,
+                             void *opaque, Error **errp)
 {
     StringProperty *prop = opaque;
     char *value;
@@ -1816,8 +1819,8 @@  typedef struct BoolProperty
     void (*set)(Object *, bool, Error **);
 } BoolProperty;

-static void property_get_bool(Object *obj, Visitor *v, void *opaque,
-                              const char *name, Error **errp)
+static void property_get_bool(Object *obj, Visitor *v, const char *name,
+                              void *opaque, Error **errp)
 {
     BoolProperty *prop = opaque;
     bool value;
@@ -1832,8 +1835,8 @@  static void property_get_bool(Object *obj, Visitor *v, void *opaque,
     visit_type_bool(v, name, &value, errp);
 }

-static void property_set_bool(Object *obj, Visitor *v, void *opaque,
-                              const char *name, Error **errp)
+static void property_set_bool(Object *obj, Visitor *v, const char *name,
+                              void *opaque, Error **errp)
 {
     BoolProperty *prop = opaque;
     bool value;
@@ -1899,8 +1902,8 @@  void object_class_property_add_bool(ObjectClass *klass, const char *name,
     }
 }

-static void property_get_enum(Object *obj, Visitor *v, void *opaque,
-                              const char *name, Error **errp)
+static void property_get_enum(Object *obj, Visitor *v, const char *name,
+                              void *opaque, Error **errp)
 {
     EnumProperty *prop = opaque;
     int value;
@@ -1915,8 +1918,8 @@  static void property_get_enum(Object *obj, Visitor *v, void *opaque,
     visit_type_enum(v, name, &value, prop->strings, NULL, errp);
 }

-static void property_set_enum(Object *obj, Visitor *v, void *opaque,
-                              const char *name, Error **errp)
+static void property_set_enum(Object *obj, Visitor *v, const char *name,
+                              void *opaque, Error **errp)
 {
     EnumProperty *prop = opaque;
     int value;
@@ -1991,8 +1994,8 @@  typedef struct TMProperty {
     void (*get)(Object *, struct tm *, Error **);
 } TMProperty;

-static void property_get_tm(Object *obj, Visitor *v, void *opaque,
-                            const char *name, Error **errp)
+static void property_get_tm(Object *obj, Visitor *v, const char *name,
+                            void *opaque, Error **errp)
 {
     TMProperty *prop = opaque;
     Error *err = NULL;
@@ -2090,33 +2093,29 @@  static char *qdev_get_type(Object *obj, Error **errp)
     return g_strdup(object_get_typename(obj));
 }

-static void property_get_uint8_ptr(Object *obj, Visitor *v,
-                                   void *opaque, const char *name,
-                                   Error **errp)
+static void property_get_uint8_ptr(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     uint8_t value = *(uint8_t *)opaque;
     visit_type_uint8(v, name, &value, errp);
 }

-static void property_get_uint16_ptr(Object *obj, Visitor *v,
-                                   void *opaque, const char *name,
-                                   Error **errp)
+static void property_get_uint16_ptr(Object *obj, Visitor *v, const char *name,
+                                    void *opaque, Error **errp)
 {
     uint16_t value = *(uint16_t *)opaque;
     visit_type_uint16(v, name, &value, errp);
 }

-static void property_get_uint32_ptr(Object *obj, Visitor *v,
-                                   void *opaque, const char *name,
-                                   Error **errp)
+static void property_get_uint32_ptr(Object *obj, Visitor *v, const char *name,
+                                    void *opaque, Error **errp)
 {
     uint32_t value = *(uint32_t *)opaque;
     visit_type_uint32(v, name, &value, errp);
 }

-static void property_get_uint64_ptr(Object *obj, Visitor *v,
-                                   void *opaque, const char *name,
-                                   Error **errp)
+static void property_get_uint64_ptr(Object *obj, Visitor *v, const char *name,
+                                    void *opaque, Error **errp)
 {
     uint64_t value = *(uint64_t *)opaque;
     visit_type_uint64(v, name, &value, errp);
@@ -2183,16 +2182,16 @@  typedef struct {
     char *target_name;
 } AliasProperty;

-static void property_get_alias(Object *obj, Visitor *v, void *opaque,
-                               const char *name, Error **errp)
+static void property_get_alias(Object *obj, Visitor *v, const char *name,
+                               void *opaque, Error **errp)
 {
     AliasProperty *prop = opaque;

     object_property_get(prop->target_obj, v, prop->target_name, errp);
 }

-static void property_set_alias(Object *obj, Visitor *v, void *opaque,
-                               const char *name, Error **errp)
+static void property_set_alias(Object *obj, Visitor *v, const char *name,
+                               void *opaque, Error **errp)
 {
     AliasProperty *prop = opaque;

diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 110fa1c..e86711b 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1509,8 +1509,9 @@  static void report_unavailable_features(FeatureWord w, uint32_t mask)
     }
 }

-static void x86_cpuid_version_get_family(Object *obj, Visitor *v, void *opaque,
-                                         const char *name, Error **errp)
+static void x86_cpuid_version_get_family(Object *obj, Visitor *v,
+                                         const char *name, void *opaque,
+                                         Error **errp)
 {
     X86CPU *cpu = X86_CPU(obj);
     CPUX86State *env = &cpu->env;
@@ -1523,8 +1524,9 @@  static void x86_cpuid_version_get_family(Object *obj, Visitor *v, void *opaque,
     visit_type_int(v, name, &value, errp);
 }

-static void x86_cpuid_version_set_family(Object *obj, Visitor *v, void *opaque,
-                                         const char *name, Error **errp)
+static void x86_cpuid_version_set_family(Object *obj, Visitor *v,
+                                         const char *name, void *opaque,
+                                         Error **errp)
 {
     X86CPU *cpu = X86_CPU(obj);
     CPUX86State *env = &cpu->env;
@@ -1552,8 +1554,9 @@  static void x86_cpuid_version_set_family(Object *obj, Visitor *v, void *opaque,
     }
 }

-static void x86_cpuid_version_get_model(Object *obj, Visitor *v, void *opaque,
-                                        const char *name, Error **errp)
+static void x86_cpuid_version_get_model(Object *obj, Visitor *v,
+                                        const char *name, void *opaque,
+                                        Error **errp)
 {
     X86CPU *cpu = X86_CPU(obj);
     CPUX86State *env = &cpu->env;
@@ -1564,8 +1567,9 @@  static void x86_cpuid_version_get_model(Object *obj, Visitor *v, void *opaque,
     visit_type_int(v, name, &value, errp);
 }

-static void x86_cpuid_version_set_model(Object *obj, Visitor *v, void *opaque,
-                                        const char *name, Error **errp)
+static void x86_cpuid_version_set_model(Object *obj, Visitor *v,
+                                        const char *name, void *opaque,
+                                        Error **errp)
 {
     X86CPU *cpu = X86_CPU(obj);
     CPUX86State *env = &cpu->env;
@@ -1590,7 +1594,7 @@  static void x86_cpuid_version_set_model(Object *obj, Visitor *v, void *opaque,
 }

 static void x86_cpuid_version_get_stepping(Object *obj, Visitor *v,
-                                           void *opaque, const char *name,
+                                           const char *name, void *opaque,
                                            Error **errp)
 {
     X86CPU *cpu = X86_CPU(obj);
@@ -1602,7 +1606,7 @@  static void x86_cpuid_version_get_stepping(Object *obj, Visitor *v,
 }

 static void x86_cpuid_version_set_stepping(Object *obj, Visitor *v,
-                                           void *opaque, const char *name,
+                                           const char *name, void *opaque,
                                            Error **errp)
 {
     X86CPU *cpu = X86_CPU(obj);
@@ -1698,8 +1702,8 @@  static void x86_cpuid_set_model_id(Object *obj, const char *model_id,
     }
 }

-static void x86_cpuid_get_tsc_freq(Object *obj, Visitor *v, void *opaque,
-                                   const char *name, Error **errp)
+static void x86_cpuid_get_tsc_freq(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     X86CPU *cpu = X86_CPU(obj);
     int64_t value;
@@ -1708,8 +1712,8 @@  static void x86_cpuid_get_tsc_freq(Object *obj, Visitor *v, void *opaque,
     visit_type_int(v, name, &value, errp);
 }

-static void x86_cpuid_set_tsc_freq(Object *obj, Visitor *v, void *opaque,
-                                   const char *name, Error **errp)
+static void x86_cpuid_set_tsc_freq(Object *obj, Visitor *v, const char *name,
+                                   void *opaque, Error **errp)
 {
     X86CPU *cpu = X86_CPU(obj);
     const int64_t min = 0;
@@ -1731,8 +1735,8 @@  static void x86_cpuid_set_tsc_freq(Object *obj, Visitor *v, void *opaque,
     cpu->env.tsc_khz = value / 1000;
 }

-static void x86_cpuid_get_apic_id(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void x86_cpuid_get_apic_id(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     X86CPU *cpu = X86_CPU(obj);
     int64_t value = cpu->apic_id;
@@ -1740,8 +1744,8 @@  static void x86_cpuid_get_apic_id(Object *obj, Visitor *v, void *opaque,
     visit_type_int(v, name, &value, errp);
 }

-static void x86_cpuid_set_apic_id(Object *obj, Visitor *v, void *opaque,
-                                  const char *name, Error **errp)
+static void x86_cpuid_set_apic_id(Object *obj, Visitor *v, const char *name,
+                                  void *opaque, Error **errp)
 {
     X86CPU *cpu = X86_CPU(obj);
     DeviceState *dev = DEVICE(obj);
@@ -1776,8 +1780,9 @@  static void x86_cpuid_set_apic_id(Object *obj, Visitor *v, void *opaque,
 }

 /* Generic getter for "feature-words" and "filtered-features" properties */
-static void x86_cpu_get_feature_words(Object *obj, Visitor *v, void *opaque,
-                                      const char *name, Error **errp)
+static void x86_cpu_get_feature_words(Object *obj, Visitor *v,
+                                      const char *name, void *opaque,
+                                      Error **errp)
 {
     uint32_t *array = (uint32_t *)opaque;
     FeatureWord w;
@@ -1805,8 +1810,8 @@  static void x86_cpu_get_feature_words(Object *obj, Visitor *v, void *opaque,
     error_propagate(errp, err);
 }

-static void x86_get_hv_spinlocks(Object *obj, Visitor *v, void *opaque,
-                                 const char *name, Error **errp)
+static void x86_get_hv_spinlocks(Object *obj, Visitor *v, const char *name,
+                                 void *opaque, Error **errp)
 {
     X86CPU *cpu = X86_CPU(obj);
     int64_t value = cpu->hyperv_spinlock_attempts;
@@ -1814,8 +1819,8 @@  static void x86_get_hv_spinlocks(Object *obj, Visitor *v, void *opaque,
     visit_type_int(v, name, &value, errp);
 }

-static void x86_set_hv_spinlocks(Object *obj, Visitor *v, void *opaque,
-                                 const char *name, Error **errp)
+static void x86_set_hv_spinlocks(Object *obj, Visitor *v, const char *name,
+                                 void *opaque, Error **errp)
 {
     const int64_t min = 0xFFF;
     const int64_t max = UINT_MAX;
@@ -2920,21 +2925,16 @@  typedef struct BitProperty {
     uint32_t mask;
 } BitProperty;

-static void x86_cpu_get_bit_prop(Object *obj,
-                                 Visitor *v,
-                                 void *opaque,
-                                 const char *name,
-                                 Error **errp)
+static void x86_cpu_get_bit_prop(Object *obj, Visitor *v, const char *name,
+                                 void *opaque, Error **errp)
 {
     BitProperty *fp = opaque;
     bool value = (*fp->ptr & fp->mask) == fp->mask;
     visit_type_bool(v, name, &value, errp);
 }

-static void x86_cpu_set_bit_prop(Object *obj,
-                                 Visitor *v,
-                                 void *opaque,
-                                 const char *name,
+static void x86_cpu_set_bit_prop(Object *obj, struct Visitor *v,
+                                 const char *name, void *opaque,
                                  Error **errp)
 {
     DeviceState *dev = DEVICE(obj);
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index 9d7936b..d36b627 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -8034,8 +8034,8 @@  POWERPC_FAMILY(POWER5P)(ObjectClass *oc, void *data)
     pcc->l1_icache_size = 0x10000;
 }

-static void powerpc_get_compat(Object *obj, Visitor *v,
-                               void *opaque, const char *name, Error **errp)
+static void powerpc_get_compat(Object *obj, Visitor *v, const char *name,
+                               void *opaque, Error **errp)
 {
     char *value = (char *)"";
     Property *prop = opaque;
@@ -8062,8 +8062,8 @@  static void powerpc_get_compat(Object *obj, Visitor *v,
     visit_type_str(v, name, &value, errp);
 }

-static void powerpc_set_compat(Object *obj, Visitor *v,
-                               void *opaque, const char *name, Error **errp)
+static void powerpc_set_compat(Object *obj, Visitor *v, const char *name,
+                               void *opaque, Error **errp)
 {
     Error *error = NULL;
     char *value = NULL;
diff --git a/tests/test-qdev-global-props.c b/tests/test-qdev-global-props.c
index e728611..07c1823 100644
--- a/tests/test-qdev-global-props.c
+++ b/tests/test-qdev-global-props.c
@@ -116,22 +116,16 @@  static void test_static_globalprop(void)
 #define TYPE_UNUSED_HOTPLUG   "hotplug-type"
 #define TYPE_UNUSED_NOHOTPLUG "nohotplug-type"

-static void prop1_accessor(Object *obj,
-                           Visitor *v,
-                           void *opaque,
-                           const char *name,
-                           Error **errp)
+static void prop1_accessor(Object *obj, Visitor *v, const char *name,
+                           void *opaque, Error **errp)
 {
     MyType *mt = DYNAMIC_TYPE(obj);

     visit_type_uint32(v, name, &mt->prop1, errp);
 }

-static void prop2_accessor(Object *obj,
-                           Visitor *v,
-                           void *opaque,
-                           const char *name,
-                           Error **errp)
+static void prop2_accessor(Object *obj, Visitor *v, const char *name,
+                           void *opaque, Error **errp)
 {
     MyType *mt = DYNAMIC_TYPE(obj);