This series mainly implements the conversions of pci-bridge devices i82801b11, io3130_upstream/downstream and so on to realize(). Naturally part of error messages need to be converted to Error, then propagate to its callers via the argument errp, bonus clean related minor flaw up. In short, the former patches are prerequisites for latter ones.
v7: * patch7: -drop the !local_err assert is really not appropriate, now revert it. [Marcel Apfelbaum] v6: * patch3: -rename the subject. * patch6: -simplify the commit message. -use error_append_hint replace original error_setg rather than remove it directly. [Marcel Apfelbaum] -report the error message from local_err. [Marcel Apfelbaum] v5: * patch5: replace pci_add_capability2() with pci_add_capability(), because it's confusing to have a function named pci_add_capability2() if pci_add_capability() doesn't exist anymore. [Eduardo Habkost] * patch8: a new patch that fix the return type of verify_irqchip_kernel(). * patch9: a new patch that use the errp directly instead of the local_err to propagate the error messages. v4: * patch4: changed from patch 5 in v3. use a elegant way to check the error, like function(...); if (function succeeded) { /* non-error code path here */ foo = bar; } or function(...); if (function succeeded) { /* non-error code path here */ foo = bar; } else { /* error path here */ return ret; } for readability, instead of this: function(...) if (function failed) { return ...; /* or: "goto out" */ } /* non-error code path here */ foo = bar; [Eduardo Habkost] meanwhile, split previous patch4 out. [Michael S. Tsirkin] * patch5: a new patch that replace pci_add_capability() with pci_add_capability2(). [Eduardo Habkost] v3: * patch2: explain the specified means of the return value, also improve the commit message. [Marcel Apfelbaum] * patch3: simplify the subject and commit message, fix another wrong assert. [Marcel Apfelbaum] * patch4: adjust the subject. * patch5: fix a wrong optimization for errp. [Eduardo Habkost] * patch7: a new patch that converts shpc_init() to Error in order to propagate the error better. v2: * patch1: subject and commit message was rewrited by markus. * patch2: comment was added to pci_add_capability2(). * patch3: a new patch that fix the wrong return value judgment condition. * patch4: a new patch that fix code style problems. * patch5: add an errp argument for pci_add_capability to pass error for its callers. * patch6: convert part of pci-bridge device to realize. v1: * patch1: fix unreasonable return value check Cc: m...@redhat.com Cc: mar...@redhat.com Cc: arm...@redhat.com Cc: dmi...@daynix.com Cc: jasow...@redhat.com Cc: kra...@redhat.com Cc: alex.william...@redhat.com Cc: pbonz...@redhat.com Cc: r...@twiddle.net Cc: ehabk...@redhat.com Mao Zhongyi (9): pci: Clean up error checking in pci_add_capability() pci: Add comment for pci_add_capability2() pci: Fix the wrong assertion. pci: Make errp the last parameter of pci_add_capability() pci: Replace pci_add_capability2() with pci_add_capability() pci: Convert to realize pci: Convert shpc_init() to Error i386/kvm/pci-assign: Fix return type of verify_irqchip_kernel() i386/kvm/pci-assign: Use errp directly rather than local_err hw/i386/amd_iommu.c | 24 ++++++++++++----- hw/i386/kvm/pci-assign.c | 54 ++++++++++++++------------------------ hw/ide/ich.c | 2 +- hw/net/e1000e.c | 30 ++++++++++++--------- hw/net/eepro100.c | 18 ++++++++++--- hw/pci-bridge/i82801b11.c | 12 ++++----- hw/pci-bridge/pci_bridge_dev.c | 14 +++++----- hw/pci-bridge/pcie_root_port.c | 18 ++++++------- hw/pci-bridge/xio3130_downstream.c | 20 +++++++------- hw/pci-bridge/xio3130_upstream.c | 20 +++++++------- hw/pci/msi.c | 2 +- hw/pci/msix.c | 2 +- hw/pci/pci.c | 24 +++-------------- hw/pci/pci_bridge.c | 8 ++++-- hw/pci/pcie.c | 28 +++++++++++++++----- hw/pci/shpc.c | 10 ++++--- hw/pci/slotid_cap.c | 12 ++++++--- hw/usb/hcd-xhci.c | 2 +- hw/vfio/pci.c | 15 ++++++----- hw/virtio/virtio-pci.c | 12 ++++++--- include/hw/pci/pci.h | 2 -- include/hw/pci/pci_bridge.h | 3 ++- include/hw/pci/pcie.h | 3 ++- include/hw/pci/shpc.h | 3 ++- include/hw/pci/slotid_cap.h | 3 ++- 25 files changed, 183 insertions(+), 158 deletions(-) -- 2.9.4