hw/ppc: removing drc->detach_cb and drc->detach_cb_opaque
commit318347234d7069b62d38391dd27e269a3107d668
authorDaniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
Mon, 22 May 2017 19:35:48 +0000 (22 16:35 -0300)
committerDavid Gibson <david@gibson.dropbear.id.au>
Thu, 25 May 2017 01:31:33 +0000 (25 11:31 +1000)
treeb074ae40e1ad2b437163f4b0aee032aa5bdd4bc7
parent0cffce56ae3501c5783d779f97993ce478acf856
hw/ppc: removing drc->detach_cb and drc->detach_cb_opaque

The pointer drc->detach_cb is being used as a way of informing
the detach() function inside spapr_drc.c which cb to execute. This
information can also be retrieved simply by checking drc->type and
choosing the right callback based on it. In this context, detach_cb
is redundant information that must be managed.

After the previous spapr_lmb_release change, no detach_cb_opaques
are being used by any of the three callbacks functions. This is
yet another information that is now unused and, on top of that, can't
be migrated either.

This patch makes the following changes:

- removal of detach_cb_opaque. the 'opaque' argument was removed from
the callbacks and from the detach() function of sPAPRConnectorClass. The
attribute detach_cb_opaque of sPAPRConnector was removed.

- removal of detach_cb from the detach() call. The function pointer
detach_cb of sPAPRConnector was removed. detach() now uses a
switch(drc->type) to execute the apropriate callback. To achieve this,
spapr_core_release, spapr_lmb_release and spapr_phb_remove_pci_device_cb
callbacks were made public to be visible inside detach().

Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr.c
hw/ppc/spapr_drc.c
hw/ppc/spapr_pci.c
include/hw/pci-host/spapr.h
include/hw/ppc/spapr.h
include/hw/ppc/spapr_drc.h