1. 22 Mar, 2016 1 commit
    • Markus Armbruster's avatar
      include/qemu/osdep.h: Don't include qapi/error.h · da34e65c
      Markus Armbruster authored
      Commit 57cb38b3 included qapi/error.h into qemu/osdep.h to get the
      Error typedef.  Since then, we've moved to include qemu/osdep.h
      everywhere.  Its file comment explains: "To avoid getting into
      possible circular include dependencies, this file should not include
      any other QEMU headers, with the exceptions of config-host.h,
      compiler.h, os-posix.h and os-win32.h, all of which are doing a
      similar job to this file and are under similar constraints."
      qapi/error.h doesn't do a similar job, and it doesn't adhere to
      similar constraints: it includes qapi-types.h.  That's in excess of
      100KiB of crap most .c files don't actually need.
      
      Add the typedef to qemu/typedefs.h, and include that instead of
      qapi/error.h.  Include qapi/error.h in .c files that need it and don't
      get it now.  Include qapi-types.h in qom/object.h for uint16List.
      
      Update scripts/clean-includes accordingly.  Update it further to match
      reality: replace config.h by config-target.h, add sysemu/os-posix.h,
      sysemu/os-win32.h.  Update the list of includes in the qemu/osdep.h
      comment quoted above similarly.
      
      This reduces the number of objects depending on qapi/error.h from "all
      of them" to less than a third.  Unfortunately, the number depending on
      qapi-types.h shrinks only a little.  More work is needed for that one.
      Signed-off-by: 's avatarMarkus Armbruster <armbru@redhat.com>
      [Fix compilation without the spice devel packages. - Paolo]
      Signed-off-by: 's avatarPaolo Bonzini <pbonzini@redhat.com>
      da34e65c
  2. 08 Mar, 2016 1 commit
  3. 03 Mar, 2016 3 commits
  4. 04 Feb, 2016 1 commit
  5. 22 Jun, 2015 1 commit
  6. 05 May, 2014 1 commit
    • Markus Armbruster's avatar
      qom: Clean up fragile use of error_is_set() in set() methods · 65cd9064
      Markus Armbruster authored
      Using error_is_set(ERRP) to find out whether a function failed is
      either wrong, fragile, or unnecessarily opaque.  It's wrong when ERRP
      may be null, because errors go undetected when it is.  It's fragile
      when proving ERRP non-null involves a non-local argument.  Else, it's
      unnecessarily opaque (see commit 84d18f06).
      
      I guess the error_is_set(errp) in the ObjectProperty set() methods are
      merely fragile right now, because I can't find a call chain that
      passes a null errp argument.
      
      Make the code more robust and more obviously correct: receive the
      error in a local variable, then propagate it through the parameter.
      Signed-off-by: 's avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: 's avatarAndreas Färber <afaerber@suse.de>
      65cd9064
  7. 28 Jan, 2014 2 commits
  8. 15 Apr, 2013 1 commit
  9. 10 Jan, 2013 1 commit
    • Andreas Färber's avatar
      Make all static TypeInfos const · 8c43a6f0
      Andreas Färber authored
      Since 39bffca2 (qdev: register all
      types natively through QEMU Object Model), TypeInfo as used in
      the common, non-iterative pattern is no longer amended with information
      and should therefore be const.
      
      Fix the documented QOM examples:
      
       sed -i 's/static TypeInfo/static const TypeInfo/g' include/qom/object.h
      
      Since frequently the wrong examples are being copied by contributors of
      new devices, fix all types in the tree:
      
       sed -i 's/^static TypeInfo/static const TypeInfo/g' */*.c
       sed -i 's/^static TypeInfo/static const TypeInfo/g' */*/*.c
      
      This also avoids to piggy-back these changes onto real functional
      changes or other refactorings.
      Signed-off-by: 's avatarAndreas Färber <afaerber@suse.de>
      Signed-off-by: 's avatarAnthony Liguori <aliguori@us.ibm.com>
      8c43a6f0
  10. 19 Dec, 2012 1 commit
  11. 16 Nov, 2012 1 commit