* [Qemu-devel] [PATCH v2 1/2] dec: convert to realize()
2015-12-24 6:00 Cao jin
@ 2015-12-24 6:00 ` Cao jin
0 siblings, 0 replies; 8+ messages in thread
From: Cao jin @ 2015-12-24 6:00 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-ppc, agraf, mst
Cc: agraf@suse.de
Cc: mst@redhat.com
Cc: qemu-ppc@nongnu.org
Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
---
hw/pci-bridge/dec.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/pci-bridge/dec.c b/hw/pci-bridge/dec.c
index 28d0ff9..be0fc46 100644
--- a/hw/pci-bridge/dec.c
+++ b/hw/pci-bridge/dec.c
@@ -51,9 +51,9 @@ static int dec_map_irq(PCIDevice *pci_dev, int irq_num)
return irq_num;
}
-static int dec_pci_bridge_initfn(PCIDevice *pci_dev)
+static void dec_pci_bridge_realize(PCIDevice *pci_dev, Error **errp)
{
- return pci_bridge_initfn(pci_dev, TYPE_PCI_BUS);
+ pci_bridge_initfn(pci_dev, TYPE_PCI_BUS);
}
static void dec_21154_pci_bridge_class_init(ObjectClass *klass, void *data)
@@ -61,7 +61,7 @@ static void dec_21154_pci_bridge_class_init(ObjectClass *klass, void *data)
DeviceClass *dc = DEVICE_CLASS(klass);
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
- k->init = dec_pci_bridge_initfn;
+ k->realize = dec_pci_bridge_realize;
k->exit = pci_bridge_exitfn;
k->vendor_id = PCI_VENDOR_ID_DEC;
k->device_id = PCI_DEVICE_ID_DEC_21154;
--
2.1.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 0/2] change type of pci_bridge_initfn()
@ 2015-12-24 8:08 Cao jin
2015-12-24 8:08 ` [Qemu-devel] [PATCH v2 1/2] dec: convert to realize() Cao jin
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Cao jin @ 2015-12-24 8:08 UTC (permalink / raw)
To: qemu-devel
V2 changelog
1. make "dec convert to realize" the 1st patch, so these two could be
independent from each other.
Cao jin (2):
dec: convert to realize()
change type of pci_bridge_initfn() to void
hw/pci-bridge/dec.c | 6 +++---
hw/pci-bridge/i82801b11.c | 5 +----
hw/pci-bridge/ioh3420.c | 6 +-----
hw/pci-bridge/pci_bridge_dev.c | 8 +++-----
hw/pci-bridge/xio3130_downstream.c | 6 +-----
hw/pci-bridge/xio3130_upstream.c | 6 +-----
hw/pci-host/apb.c | 5 +----
hw/pci/pci_bridge.c | 3 +--
include/hw/pci/pci_bridge.h | 2 +-
9 files changed, 13 insertions(+), 34 deletions(-)
--
2.1.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 1/2] dec: convert to realize()
2015-12-24 8:08 [Qemu-devel] [PATCH v2 0/2] change type of pci_bridge_initfn() Cao jin
@ 2015-12-24 8:08 ` Cao jin
2016-01-11 19:07 ` Markus Armbruster
2015-12-24 8:08 ` [Qemu-devel] [PATCH v2 2/2] change type of pci_bridge_initfn() to void Cao jin
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Cao jin @ 2015-12-24 8:08 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-ppc, agraf, mst
Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
---
hw/pci-bridge/dec.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/pci-bridge/dec.c b/hw/pci-bridge/dec.c
index 28d0ff9..be0fc46 100644
--- a/hw/pci-bridge/dec.c
+++ b/hw/pci-bridge/dec.c
@@ -51,9 +51,9 @@ static int dec_map_irq(PCIDevice *pci_dev, int irq_num)
return irq_num;
}
-static int dec_pci_bridge_initfn(PCIDevice *pci_dev)
+static void dec_pci_bridge_realize(PCIDevice *pci_dev, Error **errp)
{
- return pci_bridge_initfn(pci_dev, TYPE_PCI_BUS);
+ pci_bridge_initfn(pci_dev, TYPE_PCI_BUS);
}
static void dec_21154_pci_bridge_class_init(ObjectClass *klass, void *data)
@@ -61,7 +61,7 @@ static void dec_21154_pci_bridge_class_init(ObjectClass *klass, void *data)
DeviceClass *dc = DEVICE_CLASS(klass);
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
- k->init = dec_pci_bridge_initfn;
+ k->realize = dec_pci_bridge_realize;
k->exit = pci_bridge_exitfn;
k->vendor_id = PCI_VENDOR_ID_DEC;
k->device_id = PCI_DEVICE_ID_DEC_21154;
--
2.1.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 2/2] change type of pci_bridge_initfn() to void
2015-12-24 8:08 [Qemu-devel] [PATCH v2 0/2] change type of pci_bridge_initfn() Cao jin
2015-12-24 8:08 ` [Qemu-devel] [PATCH v2 1/2] dec: convert to realize() Cao jin
@ 2015-12-24 8:08 ` Cao jin
2016-01-07 12:47 ` [Qemu-devel] [PATCH v2 0/2] change type of pci_bridge_initfn() Cao jin
2016-01-11 19:07 ` Markus Armbruster
3 siblings, 0 replies; 8+ messages in thread
From: Cao jin @ 2015-12-24 8:08 UTC (permalink / raw)
To: qemu-devel; +Cc: mst
It always return 0(success), change its type to void, and modify the callers.
So it can reduce a error path of its callers.
Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
---
hw/pci-bridge/i82801b11.c | 5 +----
hw/pci-bridge/ioh3420.c | 6 +-----
hw/pci-bridge/pci_bridge_dev.c | 8 +++-----
hw/pci-bridge/xio3130_downstream.c | 6 +-----
hw/pci-bridge/xio3130_upstream.c | 6 +-----
hw/pci-host/apb.c | 5 +----
hw/pci/pci_bridge.c | 3 +--
include/hw/pci/pci_bridge.h | 2 +-
8 files changed, 10 insertions(+), 31 deletions(-)
diff --git a/hw/pci-bridge/i82801b11.c b/hw/pci-bridge/i82801b11.c
index 7e79bc0..b21bc2c 100644
--- a/hw/pci-bridge/i82801b11.c
+++ b/hw/pci-bridge/i82801b11.c
@@ -61,10 +61,7 @@ static int i82801b11_bridge_initfn(PCIDevice *d)
{
int rc;
- rc = pci_bridge_initfn(d, TYPE_PCI_BUS);
- if (rc < 0) {
- return rc;
- }
+ pci_bridge_initfn(d, TYPE_PCI_BUS);
rc = pci_bridge_ssvid_init(d, I82801ba_SSVID_OFFSET,
I82801ba_SSVID_SVID, I82801ba_SSVID_SSID);
diff --git a/hw/pci-bridge/ioh3420.c b/hw/pci-bridge/ioh3420.c
index cce2fdd..eead195 100644
--- a/hw/pci-bridge/ioh3420.c
+++ b/hw/pci-bridge/ioh3420.c
@@ -97,11 +97,7 @@ static int ioh3420_initfn(PCIDevice *d)
PCIESlot *s = PCIE_SLOT(d);
int rc;
- rc = pci_bridge_initfn(d, TYPE_PCIE_BUS);
- if (rc < 0) {
- return rc;
- }
-
+ pci_bridge_initfn(d, TYPE_PCIE_BUS);
pcie_port_init_reg(d);
rc = pci_bridge_ssvid_init(d, IOH_EP_SSVID_OFFSET,
diff --git a/hw/pci-bridge/pci_bridge_dev.c b/hw/pci-bridge/pci_bridge_dev.c
index 26aded9..bc3e1b7 100644
--- a/hw/pci-bridge/pci_bridge_dev.c
+++ b/hw/pci-bridge/pci_bridge_dev.c
@@ -52,10 +52,8 @@ static int pci_bridge_dev_initfn(PCIDevice *dev)
PCIBridgeDev *bridge_dev = PCI_BRIDGE_DEV(dev);
int err;
- err = pci_bridge_initfn(dev, TYPE_PCI_BUS);
- if (err) {
- goto bridge_error;
- }
+ pci_bridge_initfn(dev, TYPE_PCI_BUS);
+
if (bridge_dev->flags & (1 << PCI_BRIDGE_DEV_F_SHPC_REQ)) {
dev->config[PCI_INTERRUPT_PIN] = 0x1;
memory_region_init(&bridge_dev->bar, OBJECT(dev), "shpc-bar",
@@ -94,7 +92,7 @@ slotid_error:
}
shpc_error:
pci_bridge_exitfn(dev);
-bridge_error:
+
return err;
}
diff --git a/hw/pci-bridge/xio3130_downstream.c b/hw/pci-bridge/xio3130_downstream.c
index b3a6479..b4dd25f 100644
--- a/hw/pci-bridge/xio3130_downstream.c
+++ b/hw/pci-bridge/xio3130_downstream.c
@@ -60,11 +60,7 @@ static int xio3130_downstream_initfn(PCIDevice *d)
PCIESlot *s = PCIE_SLOT(d);
int rc;
- rc = pci_bridge_initfn(d, TYPE_PCIE_BUS);
- if (rc < 0) {
- return rc;
- }
-
+ pci_bridge_initfn(d, TYPE_PCIE_BUS);
pcie_port_init_reg(d);
rc = msi_init(d, XIO3130_MSI_OFFSET, XIO3130_MSI_NR_VECTOR,
diff --git a/hw/pci-bridge/xio3130_upstream.c b/hw/pci-bridge/xio3130_upstream.c
index eada582..434c8fd 100644
--- a/hw/pci-bridge/xio3130_upstream.c
+++ b/hw/pci-bridge/xio3130_upstream.c
@@ -56,11 +56,7 @@ static int xio3130_upstream_initfn(PCIDevice *d)
PCIEPort *p = PCIE_PORT(d);
int rc;
- rc = pci_bridge_initfn(d, TYPE_PCIE_BUS);
- if (rc < 0) {
- return rc;
- }
-
+ pci_bridge_initfn(d, TYPE_PCIE_BUS);
pcie_port_init_reg(d);
rc = msi_init(d, XIO3130_MSI_OFFSET, XIO3130_MSI_NR_VECTOR,
diff --git a/hw/pci-host/apb.c b/hw/pci-host/apb.c
index 599768e..e9117b9 100644
--- a/hw/pci-host/apb.c
+++ b/hw/pci-host/apb.c
@@ -636,10 +636,7 @@ static int apb_pci_bridge_initfn(PCIDevice *dev)
{
int rc;
- rc = pci_bridge_initfn(dev, TYPE_PCI_BUS);
- if (rc < 0) {
- return rc;
- }
+ pci_bridge_initfn(dev, TYPE_PCI_BUS);
/*
* command register:
diff --git a/hw/pci/pci_bridge.c b/hw/pci/pci_bridge.c
index 40c97b1..5c30795 100644
--- a/hw/pci/pci_bridge.c
+++ b/hw/pci/pci_bridge.c
@@ -332,7 +332,7 @@ void pci_bridge_reset(DeviceState *qdev)
}
/* default qdev initialization function for PCI-to-PCI bridge */
-int pci_bridge_initfn(PCIDevice *dev, const char *typename)
+void pci_bridge_initfn(PCIDevice *dev, const char *typename)
{
PCIBus *parent = dev->bus;
PCIBridge *br = PCI_BRIDGE(dev);
@@ -378,7 +378,6 @@ int pci_bridge_initfn(PCIDevice *dev, const char *typename)
br->windows = pci_bridge_region_init(br);
QLIST_INIT(&sec_bus->child);
QLIST_INSERT_HEAD(&parent->child, sec_bus, sibling);
- return 0;
}
/* default qdev clean up function for PCI-to-PCI bridge */
diff --git a/include/hw/pci/pci_bridge.h b/include/hw/pci/pci_bridge.h
index 93b621c..ed4aff6 100644
--- a/include/hw/pci/pci_bridge.h
+++ b/include/hw/pci/pci_bridge.h
@@ -48,7 +48,7 @@ void pci_bridge_disable_base_limit(PCIDevice *dev);
void pci_bridge_reset_reg(PCIDevice *dev);
void pci_bridge_reset(DeviceState *qdev);
-int pci_bridge_initfn(PCIDevice *pci_dev, const char *typename);
+void pci_bridge_initfn(PCIDevice *pci_dev, const char *typename);
void pci_bridge_exitfn(PCIDevice *pci_dev);
--
2.1.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] change type of pci_bridge_initfn()
2015-12-24 8:08 [Qemu-devel] [PATCH v2 0/2] change type of pci_bridge_initfn() Cao jin
2015-12-24 8:08 ` [Qemu-devel] [PATCH v2 1/2] dec: convert to realize() Cao jin
2015-12-24 8:08 ` [Qemu-devel] [PATCH v2 2/2] change type of pci_bridge_initfn() to void Cao jin
@ 2016-01-07 12:47 ` Cao jin
2016-01-11 19:07 ` Markus Armbruster
3 siblings, 0 replies; 8+ messages in thread
From: Cao jin @ 2016-01-07 12:47 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: qemu-devel
Hi,
I am just wondering, could this patchset be accepted?
dec bridge has been tested, its realization is ok
On 12/24/2015 04:08 PM, Cao jin wrote:
> V2 changelog
> 1. make "dec convert to realize" the 1st patch, so these two could be
> independent from each other.
>
> Cao jin (2):
> dec: convert to realize()
> change type of pci_bridge_initfn() to void
>
> hw/pci-bridge/dec.c | 6 +++---
> hw/pci-bridge/i82801b11.c | 5 +----
> hw/pci-bridge/ioh3420.c | 6 +-----
> hw/pci-bridge/pci_bridge_dev.c | 8 +++-----
> hw/pci-bridge/xio3130_downstream.c | 6 +-----
> hw/pci-bridge/xio3130_upstream.c | 6 +-----
> hw/pci-host/apb.c | 5 +----
> hw/pci/pci_bridge.c | 3 +--
> include/hw/pci/pci_bridge.h | 2 +-
> 9 files changed, 13 insertions(+), 34 deletions(-)
>
--
Yours Sincerely,
Cao jin
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] dec: convert to realize()
2015-12-24 8:08 ` [Qemu-devel] [PATCH v2 1/2] dec: convert to realize() Cao jin
@ 2016-01-11 19:07 ` Markus Armbruster
2016-01-12 3:17 ` Cao jin
0 siblings, 1 reply; 8+ messages in thread
From: Markus Armbruster @ 2016-01-11 19:07 UTC (permalink / raw)
To: Cao jin; +Cc: mst, qemu-ppc, qemu-devel, agraf
Cao jin <caoj.fnst@cn.fujitsu.com> writes:
> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> ---
> hw/pci-bridge/dec.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/hw/pci-bridge/dec.c b/hw/pci-bridge/dec.c
> index 28d0ff9..be0fc46 100644
> --- a/hw/pci-bridge/dec.c
> +++ b/hw/pci-bridge/dec.c
> @@ -51,9 +51,9 @@ static int dec_map_irq(PCIDevice *pci_dev, int irq_num)
> return irq_num;
> }
>
> -static int dec_pci_bridge_initfn(PCIDevice *pci_dev)
> +static void dec_pci_bridge_realize(PCIDevice *pci_dev, Error **errp)
> {
> - return pci_bridge_initfn(pci_dev, TYPE_PCI_BUS);
> + pci_bridge_initfn(pci_dev, TYPE_PCI_BUS);
> }
>
> static void dec_21154_pci_bridge_class_init(ObjectClass *klass, void *data)
> @@ -61,7 +61,7 @@ static void dec_21154_pci_bridge_class_init(ObjectClass *klass, void *data)
> DeviceClass *dc = DEVICE_CLASS(klass);
> PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
>
> - k->init = dec_pci_bridge_initfn;
> + k->realize = dec_pci_bridge_realize;
> k->exit = pci_bridge_exitfn;
> k->vendor_id = PCI_VENDOR_ID_DEC;
> k->device_id = PCI_DEVICE_ID_DEC_21154;
Correct because pci_bridge_initfn() can't fail. Suggest to mention that
in the commit message.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] change type of pci_bridge_initfn()
2015-12-24 8:08 [Qemu-devel] [PATCH v2 0/2] change type of pci_bridge_initfn() Cao jin
` (2 preceding siblings ...)
2016-01-07 12:47 ` [Qemu-devel] [PATCH v2 0/2] change type of pci_bridge_initfn() Cao jin
@ 2016-01-11 19:07 ` Markus Armbruster
3 siblings, 0 replies; 8+ messages in thread
From: Markus Armbruster @ 2016-01-11 19:07 UTC (permalink / raw)
To: Cao jin; +Cc: qemu-devel
Cao jin <caoj.fnst@cn.fujitsu.com> writes:
> V2 changelog
> 1. make "dec convert to realize" the 1st patch, so these two could be
> independent from each other.
Series
Reviewed-by: Markus Armbruster <armbru@redhat.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] dec: convert to realize()
2016-01-11 19:07 ` Markus Armbruster
@ 2016-01-12 3:17 ` Cao jin
0 siblings, 0 replies; 8+ messages in thread
From: Cao jin @ 2016-01-12 3:17 UTC (permalink / raw)
To: Markus Armbruster; +Cc: agraf, qemu-ppc, qemu-devel, mst
On 01/12/2016 03:07 AM, Markus Armbruster wrote:
> Cao jin <caoj.fnst@cn.fujitsu.com> writes:
>
[...]
>
> Correct because pci_bridge_initfn() can't fail. Suggest to mention that
> in the commit message.
Ok, thanks for suggestion:)
--
Yours Sincerely,
Cao jin
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-01-12 3:14 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-24 8:08 [Qemu-devel] [PATCH v2 0/2] change type of pci_bridge_initfn() Cao jin
2015-12-24 8:08 ` [Qemu-devel] [PATCH v2 1/2] dec: convert to realize() Cao jin
2016-01-11 19:07 ` Markus Armbruster
2016-01-12 3:17 ` Cao jin
2015-12-24 8:08 ` [Qemu-devel] [PATCH v2 2/2] change type of pci_bridge_initfn() to void Cao jin
2016-01-07 12:47 ` [Qemu-devel] [PATCH v2 0/2] change type of pci_bridge_initfn() Cao jin
2016-01-11 19:07 ` Markus Armbruster
-- strict thread matches above, loose matches on Subject: below --
2015-12-24 6:00 Cao jin
2015-12-24 6:00 ` [Qemu-devel] [PATCH v2 1/2] dec: convert to realize() Cao jin
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.