* [Qemu-devel] [PATCH] change type of pci_bridge_initfn() to void
@ 2015-11-30 9:00 Cao jin
2015-11-30 9:19 ` Michael S. Tsirkin
0 siblings, 1 reply; 8+ messages in thread
From: Cao jin @ 2015-11-30 9:00 UTC (permalink / raw)
To: qemu-devel; +Cc: armbru, mst
It always return 0(success), change its type to void, and modify its caller.
Doing this can reduce a error path of its caller, and it is also good when
convert init() to realize()
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(-)
leave DEC 21154 PCI-PCI bridge unchanged because it is better to handle it
when convert init() to realize().
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 86b7970..012daf3 100644
--- a/hw/pci-bridge/xio3130_downstream.c
+++ b/hw/pci-bridge/xio3130_downstream.c
@@ -61,11 +61,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] change type of pci_bridge_initfn() to void
2015-11-30 9:00 [Qemu-devel] [PATCH] change type of pci_bridge_initfn() to void Cao jin
@ 2015-11-30 9:19 ` Michael S. Tsirkin
2015-12-17 1:53 ` Cao jin
0 siblings, 1 reply; 8+ messages in thread
From: Michael S. Tsirkin @ 2015-11-30 9:19 UTC (permalink / raw)
To: Cao jin; +Cc: qemu-devel, armbru
On Mon, Nov 30, 2015 at 05:00:44PM +0800, Cao jin wrote:
> It always return 0(success), change its type to void, and modify its caller.
> Doing this can reduce a error path of its caller, and it is also good when
> convert init() to realize()
>
> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
Sounds good, but pls remember to ping me after 2.5 is out.
> ---
> 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(-)
>
> leave DEC 21154 PCI-PCI bridge unchanged because it is better to handle it
> when convert init() to realize().
>
> 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 86b7970..012daf3 100644
> --- a/hw/pci-bridge/xio3130_downstream.c
> +++ b/hw/pci-bridge/xio3130_downstream.c
> @@ -61,11 +61,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 [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH] change type of pci_bridge_initfn() to void
2015-11-30 9:19 ` Michael S. Tsirkin
@ 2015-12-17 1:53 ` Cao jin
2015-12-23 8:53 ` Cao jin
0 siblings, 1 reply; 8+ messages in thread
From: Cao jin @ 2015-12-17 1:53 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: qemu-devel, armbru
Ping
On 11/30/2015 05:19 PM, Michael S. Tsirkin wrote:
> On Mon, Nov 30, 2015 at 05:00:44PM +0800, Cao jin wrote:
>> It always return 0(success), change its type to void, and modify its caller.
>> Doing this can reduce a error path of its caller, and it is also good when
>> convert init() to realize()
>>
>> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
>
> Sounds good, but pls remember to ping me after 2.5 is out.
>
>> ---
>> 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(-)
>>
>> leave DEC 21154 PCI-PCI bridge unchanged because it is better to handle it
>> when convert init() to realize().
>>
>> 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 86b7970..012daf3 100644
>> --- a/hw/pci-bridge/xio3130_downstream.c
>> +++ b/hw/pci-bridge/xio3130_downstream.c
>> @@ -61,11 +61,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
>>
>>
>
>
> .
>
--
Yours Sincerely,
Cao Jin
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH] change type of pci_bridge_initfn() to void
2015-12-17 1:53 ` Cao jin
@ 2015-12-23 8:53 ` Cao jin
2015-12-23 13:38 ` Michael S. Tsirkin
0 siblings, 1 reply; 8+ messages in thread
From: Cao jin @ 2015-12-23 8:53 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: qemu-devel, armbru
Hi mst
friendly ping again...
On 12/17/2015 09:53 AM, Cao jin wrote:
> Ping
>
> On 11/30/2015 05:19 PM, Michael S. Tsirkin wrote:
>> On Mon, Nov 30, 2015 at 05:00:44PM +0800, Cao jin wrote:
>>> It always return 0(success), change its type to void, and modify its
>>> caller.
>>> Doing this can reduce a error path of its caller, and it is also good
>>> when
>>> convert init() to realize()
>>>
>>> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
>>
>> Sounds good, but pls remember to ping me after 2.5 is out.
>>
>>> ---
>>> 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(-)
>>>
>>> leave DEC 21154 PCI-PCI bridge unchanged because it is better to
>>> handle it
>>> when convert init() to realize().
>>>
>>> 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 86b7970..012daf3 100644
>>> --- a/hw/pci-bridge/xio3130_downstream.c
>>> +++ b/hw/pci-bridge/xio3130_downstream.c
>>> @@ -61,11 +61,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
>>>
>>>
>>
>>
>> .
>>
>
--
Yours Sincerely,
Cao Jin
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH] change type of pci_bridge_initfn() to void
2015-12-23 8:53 ` Cao jin
@ 2015-12-23 13:38 ` Michael S. Tsirkin
2015-12-24 3:39 ` Cao jin
0 siblings, 1 reply; 8+ messages in thread
From: Michael S. Tsirkin @ 2015-12-23 13:38 UTC (permalink / raw)
To: Cao jin; +Cc: qemu-devel, armbru
On Wed, Dec 23, 2015 at 04:53:21PM +0800, Cao jin wrote:
> Hi mst
> friendly ping again...
This does not work since then this function can not be
used as an init callback, and this is how
dec uses it.
> On 12/17/2015 09:53 AM, Cao jin wrote:
> >Ping
> >
> >On 11/30/2015 05:19 PM, Michael S. Tsirkin wrote:
> >>On Mon, Nov 30, 2015 at 05:00:44PM +0800, Cao jin wrote:
> >>>It always return 0(success), change its type to void, and modify its
> >>>caller.
> >>>Doing this can reduce a error path of its caller, and it is also good
> >>>when
> >>>convert init() to realize()
> >>>
> >>>Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> >>
> >>Sounds good, but pls remember to ping me after 2.5 is out.
> >>
> >>>---
> >>> 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(-)
> >>>
> >>>leave DEC 21154 PCI-PCI bridge unchanged because it is better to
> >>>handle it
> >>>when convert init() to realize().
> >>>
> >>>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 86b7970..012daf3 100644
> >>>--- a/hw/pci-bridge/xio3130_downstream.c
> >>>+++ b/hw/pci-bridge/xio3130_downstream.c
> >>>@@ -61,11 +61,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
> >>>
> >>>
> >>
> >>
> >>.
> >>
> >
>
> --
> Yours Sincerely,
>
> Cao Jin
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH] change type of pci_bridge_initfn() to void
2015-12-23 13:38 ` Michael S. Tsirkin
@ 2015-12-24 3:39 ` Cao jin
2015-12-24 6:24 ` Michael S. Tsirkin
0 siblings, 1 reply; 8+ messages in thread
From: Cao jin @ 2015-12-24 3:39 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: qemu-devel, armbru
Hi mst
On 12/23/2015 09:38 PM, Michael S. Tsirkin wrote:
> On Wed, Dec 23, 2015 at 04:53:21PM +0800, Cao jin wrote:
>> Hi mst
>> friendly ping again...
>
> This does not work since then this function can not be
> used as an init callback, and this is how
> dec uses it.
>
thanks very much for your time:) I was planning to separate supporting
function & device convert to realize() into different patches, but seems
it is not suitable for this case. then, I will put "dec: convert to
realize" into this patch.
>> On 12/17/2015 09:53 AM, Cao jin wrote:
>>> Ping
>>>
>>> On 11/30/2015 05:19 PM, Michael S. Tsirkin wrote:
>>>> On Mon, Nov 30, 2015 at 05:00:44PM +0800, Cao jin wrote:
>>>>> It always return 0(success), change its type to void, and modify its
>>>>> caller.
>>>>> Doing this can reduce a error path of its caller, and it is also good
>>>>> when
>>>>> convert init() to realize()
>>>>>
>>>>> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
>>>>
>>>> Sounds good, but pls remember to ping me after 2.5 is out.
>>>>
>>>>> ---
>>>>> 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(-)
>>>>>
>>>>> leave DEC 21154 PCI-PCI bridge unchanged because it is better to
>>>>> handle it
>>>>> when convert init() to realize().
>>>>>
>>>>> 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 86b7970..012daf3 100644
>>>>> --- a/hw/pci-bridge/xio3130_downstream.c
>>>>> +++ b/hw/pci-bridge/xio3130_downstream.c
>>>>> @@ -61,11 +61,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
>>>>>
>>>>>
>>>>
>>>>
>>>> .
>>>>
>>>
>>
>> --
>> Yours Sincerely,
>>
>> Cao Jin
>>
>
>
> .
>
--
Yours Sincerely,
Cao Jin
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH] change type of pci_bridge_initfn() to void
2015-12-24 3:39 ` Cao jin
@ 2015-12-24 6:24 ` Michael S. Tsirkin
2015-12-24 6:45 ` Cao jin
0 siblings, 1 reply; 8+ messages in thread
From: Michael S. Tsirkin @ 2015-12-24 6:24 UTC (permalink / raw)
To: Cao jin; +Cc: qemu-devel, armbru
On Thu, Dec 24, 2015 at 11:39:00AM +0800, Cao jin wrote:
> Hi mst
>
> On 12/23/2015 09:38 PM, Michael S. Tsirkin wrote:
> >On Wed, Dec 23, 2015 at 04:53:21PM +0800, Cao jin wrote:
> >>Hi mst
> >>friendly ping again...
> >
> >This does not work since then this function can not be
> >used as an init callback, and this is how
> >dec uses it.
> >
>
> thanks very much for your time:) I was planning to separate supporting
> function & device convert to realize() into different patches, but seems it
> is not suitable for this case. then, I will put "dec: convert to realize"
> into this patch.
OK but how exactly did you test your patch that
a build break was missed?
Could you include some info about testing done
when you post patches?
> >>On 12/17/2015 09:53 AM, Cao jin wrote:
> >>>Ping
> >>>
> >>>On 11/30/2015 05:19 PM, Michael S. Tsirkin wrote:
> >>>>On Mon, Nov 30, 2015 at 05:00:44PM +0800, Cao jin wrote:
> >>>>>It always return 0(success), change its type to void, and modify its
> >>>>>caller.
> >>>>>Doing this can reduce a error path of its caller, and it is also good
> >>>>>when
> >>>>>convert init() to realize()
> >>>>>
> >>>>>Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> >>>>
> >>>>Sounds good, but pls remember to ping me after 2.5 is out.
> >>>>
> >>>>>---
> >>>>> 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(-)
> >>>>>
> >>>>>leave DEC 21154 PCI-PCI bridge unchanged because it is better to
> >>>>>handle it
> >>>>>when convert init() to realize().
> >>>>>
> >>>>>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 86b7970..012daf3 100644
> >>>>>--- a/hw/pci-bridge/xio3130_downstream.c
> >>>>>+++ b/hw/pci-bridge/xio3130_downstream.c
> >>>>>@@ -61,11 +61,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
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>.
> >>>>
> >>>
> >>
> >>--
> >>Yours Sincerely,
> >>
> >>Cao Jin
> >>
> >
> >
> >.
> >
>
> --
> Yours Sincerely,
>
> Cao Jin
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH] change type of pci_bridge_initfn() to void
2015-12-24 6:24 ` Michael S. Tsirkin
@ 2015-12-24 6:45 ` Cao jin
0 siblings, 0 replies; 8+ messages in thread
From: Cao jin @ 2015-12-24 6:45 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: qemu-devel, armbru
On 12/24/2015 02:24 PM, Michael S. Tsirkin wrote:
> On Thu, Dec 24, 2015 at 11:39:00AM +0800, Cao jin wrote:
>> Hi mst
>>
>> On 12/23/2015 09:38 PM, Michael S. Tsirkin wrote:
>>> On Wed, Dec 23, 2015 at 04:53:21PM +0800, Cao jin wrote:
>>>> Hi mst
>>>> friendly ping again...
>>>
>>> This does not work since then this function can not be
>>> used as an init callback, and this is how
>>> dec uses it.
>>>
>>
>> thanks very much for your time:) I was planning to separate supporting
>> function & device convert to realize() into different patches, but seems it
>> is not suitable for this case. then, I will put "dec: convert to realize"
>> into this patch.
>
> OK but how exactly did you test your patch that
> a build break was missed?
> Could you include some info about testing done
> when you post patches?
>
Really really sorry about my carelessness, I just find compiling fail
before this mail, really sorry about such kind of silly mistake. I know
I have made many silly mistakes before, ashamed of these. I am working
hard to avoid these silly mistake later.
Again, really sorry, and really thanks the time you spend on this.
Btw, I just thought maybe this patch could be splitted into 2
independent patches, just like v2 I sent.
>>>> On 12/17/2015 09:53 AM, Cao jin wrote:
>>>>> Ping
>>>>>
>>>>> On 11/30/2015 05:19 PM, Michael S. Tsirkin wrote:
>>>>>> On Mon, Nov 30, 2015 at 05:00:44PM +0800, Cao jin wrote:
>>>>>>> It always return 0(success), change its type to void, and modify its
>>>>>>> caller.
>>>>>>> Doing this can reduce a error path of its caller, and it is also good
>>>>>>> when
>>>>>>> convert init() to realize()
>>>>>>>
>>>>>>> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
>>>>>>
>>>>>> Sounds good, but pls remember to ping me after 2.5 is out.
>>>>>>
>>>>>>> ---
>>>>>>> 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(-)
>>>>>>>
>>>>>>> leave DEC 21154 PCI-PCI bridge unchanged because it is better to
>>>>>>> handle it
>>>>>>> when convert init() to realize().
>>>>>>>
>>>>>>> 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 86b7970..012daf3 100644
>>>>>>> --- a/hw/pci-bridge/xio3130_downstream.c
>>>>>>> +++ b/hw/pci-bridge/xio3130_downstream.c
>>>>>>> @@ -61,11 +61,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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> .
>>>>>>
>>>>>
>>>>
>>>> --
>>>> Yours Sincerely,
>>>>
>>>> Cao Jin
>>>>
>>>
>>>
>>> .
>>>
>>
>> --
>> Yours Sincerely,
>>
>> Cao Jin
>>
>
>
>
> .
>
--
Yours Sincerely,
Cao Jin
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-12-24 8:05 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-30 9:00 [Qemu-devel] [PATCH] change type of pci_bridge_initfn() to void Cao jin
2015-11-30 9:19 ` Michael S. Tsirkin
2015-12-17 1:53 ` Cao jin
2015-12-23 8:53 ` Cao jin
2015-12-23 13:38 ` Michael S. Tsirkin
2015-12-24 3:39 ` Cao jin
2015-12-24 6:24 ` Michael S. Tsirkin
2015-12-24 6:45 ` Cao jin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).