On Tue, Jun 27, 2017 at 02:16:46PM +0800, Mao Zhongyi wrote: > 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.
Applied, thanks! Please remember to Cc maintainers on all patches, this was missing on patch 3. > 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 > >