mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
pci: Convert shpc_init() to Error
In order to propagate error message better, convert shpc_init() to Error also convert the pci_bridge_dev_initfn() to realize. Cc: mst@redhat.com Cc: marcel@redhat.com Cc: armbru@redhat.com Signed-off-by: Mao Zhongyi <maozy.fnst@cn.fujitsu.com> Reviewed-by: Marcel Apfelbaum <marcel@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
f8cd1b0201
commit
344475e77d
5 changed files with 20 additions and 22 deletions
|
@ -446,16 +446,14 @@ static void shpc_cap_update_dword(PCIDevice *d)
|
|||
}
|
||||
|
||||
/* Add SHPC capability to the config space for the device. */
|
||||
static int shpc_cap_add_config(PCIDevice *d)
|
||||
static int shpc_cap_add_config(PCIDevice *d, Error **errp)
|
||||
{
|
||||
uint8_t *config;
|
||||
int config_offset;
|
||||
Error *local_err = NULL;
|
||||
config_offset = pci_add_capability(d, PCI_CAP_ID_SHPC,
|
||||
0, SHPC_CAP_LENGTH,
|
||||
&local_err);
|
||||
errp);
|
||||
if (config_offset < 0) {
|
||||
error_report_err(local_err);
|
||||
return config_offset;
|
||||
}
|
||||
config = d->config + config_offset;
|
||||
|
@ -584,13 +582,14 @@ void shpc_device_hot_unplug_request_cb(HotplugHandler *hotplug_dev,
|
|||
}
|
||||
|
||||
/* Initialize the SHPC structure in bridge's BAR. */
|
||||
int shpc_init(PCIDevice *d, PCIBus *sec_bus, MemoryRegion *bar, unsigned offset)
|
||||
int shpc_init(PCIDevice *d, PCIBus *sec_bus, MemoryRegion *bar,
|
||||
unsigned offset, Error **errp)
|
||||
{
|
||||
int i, ret;
|
||||
int nslots = SHPC_MAX_SLOTS; /* TODO: qdev property? */
|
||||
SHPCDevice *shpc = d->shpc = g_malloc0(sizeof(*d->shpc));
|
||||
shpc->sec_bus = sec_bus;
|
||||
ret = shpc_cap_add_config(d);
|
||||
ret = shpc_cap_add_config(d, errp);
|
||||
if (ret) {
|
||||
g_free(d->shpc);
|
||||
return ret;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue