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.
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 (7): pci: Clean up error checking in pci_add_capability() pci: Add comment for pci_add_capability2() pci: Fix the return value checking pci: Make errp the last parameter of pci_add_capability() pci: Replace pci_add_capability() with pci_add_capability2() pci: Convert to realize pci: Convert shpc_init() to Error hw/i386/amd_iommu.c | 24 +++++++++++++++++------- hw/net/e1000e.c | 30 ++++++++++++++++++------------ hw/net/eepro100.c | 20 +++++++++++++++----- hw/pci-bridge/i82801b11.c | 12 ++++++------ hw/pci-bridge/pci_bridge_dev.c | 21 ++++++++------------- hw/pci-bridge/pcie_root_port.c | 15 ++++++--------- hw/pci-bridge/xio3130_downstream.c | 20 +++++++++----------- hw/pci-bridge/xio3130_upstream.c | 20 +++++++++----------- hw/pci/pci.c | 24 ++++-------------------- hw/pci/pci_bridge.c | 8 ++++++-- hw/pci/pcie.c | 15 +++++++++++---- hw/pci/shpc.c | 12 +++++++----- hw/pci/slotid_cap.c | 12 ++++++++---- hw/usb/hcd-xhci.c | 2 +- hw/vfio/pci.c | 9 ++++++--- 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 ++- 21 files changed, 147 insertions(+), 123 deletions(-) -- 2.9.3